- 题解
sjysd
- @ 2025-11-19 19:13:23
#include <bits/stdc++.h>
using namespace std;
int q, a[4], b[4];
void maxsum(){
int ans = 0;
int a1 = a[1], a2 = a[2], a3 = a[3];
int b1 = b[1], b2 = b[2], b3 = b[3];
int maxsj = min(a1, b2);
ans += maxsj;
a1 -= maxsj, b2 -= maxsj;
int maxjb = min(a2, b3);
ans += maxjb;
a2 -= maxjb, b3 -= maxjb;
int maxbs = min(a3, b1);
ans += maxbs;
a3 -= maxbs, b1 -= maxbs;
int maxss = min(a1, b1);
a1 -= maxss, b1 -= maxss;
int maxjj = min(a2, b2);
a2 -= maxjj, b2 -= maxjj;
int maxbb = min(a3, b3);
a3 -= maxbb, b3 -= maxbb;
int maxb1a2 = max(a1, b2);
ans -= maxb1a2;
int maxb2a3 = max(b2, a3);
ans -= maxb2a3;
int maxb3a1 = max(b3, a1);
ans -= maxb3a1;
cout << ans << " ";
}
void minsum(){
int ans = 0;
int a1 = a[1], a2 = a[2], a3 = a[3];
int b1 = b[1], b2 = b[2], b3 = b[3];
int maxb1a2 = min(b1, a2);
ans -= maxb1a2;
b1 -= maxb1a2, a2 -= maxb1a2;
int maxb2a3 = min(b2, a3);
ans -= maxb2a3;
b2 -= maxb2a3, a3 -= maxb2a3;
int maxb3a1 = min(b3, a1);
ans -= maxb3a1;
b3 -= maxb3a1, a1 -= maxb3a1;
int maxss = min(a1, b1);
a1 -= maxss, b1 -= maxss;
int maxjj = min(a2, b2);
a2 -= maxjj, b2 -= maxjj;
int maxbb = min(a3, b3);
a3 -= maxbb, b3 -= maxbb;
int maxa1b2 = max(a1, b2);
ans += maxa1b2;
int maxa2b3 = max(a2, b3);
ans += maxa2b3;
int maxa3b1 = max(a3, b1);
ans += maxa3b1;
cout << ans << endl;
}
int main(){
cin >> q;
while(q--){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
int n;
cin >> n;
for(int i = 1;i <= 3; i++) cin >> a[i];
for(int i = 1;i <= 3; i++) cin >> b[i];
maxsum();
minsum();
}
return 0;
}
0 comments
No comments so far...