题目描述:有大于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;
}


京公网安备 11010502036488号