题目描述:有大于100个人参加比赛,第一轮第100名获得a分且前100名在第二轮获得至少b分;
第二轮第100名获得c分且前100名在第一轮获得至少d分,问两轮得分加起来,第100名最少为多少分。
至少100人获得不少于a+b分,至少有100人获得不少于c+d分,问第100名最少分数。贪心:一定在a+b和c+d中产生,因为比这两个数小的分肯定在100名后。
第100名最小得分应是max(a+b,c+d),若取比max(a+b,c+d)小的分数则肯定在100名后。
#include<bits/stdc++.h> #define ll long long using namespace std; int main() { std::ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int t; cin>>t; while(t--) { int a,b,c,d; cin>>a>>b>>c>>d; cout<<max(a+b,c+d); } return 0; }