CF1445B Elimination 题解
Content
一个比赛分两场进行,其中:
- 第一场的第一百名成绩为 \(a\),且第一场的前一百名在第二场中都至少得到了 \(b\) 分。
- 第二场的第一百名成绩为 \(c\),且第二场的前一百名在第一场中都至少得到了 \(d\) 分。
求总分第一百名的成绩的最小值。
数据范围:\(0\leqslant a,b,c,d\leqslant 9,d\leqslant a,b\leqslant c\)。
Solution
我们可以发现,第一场的前一百名的总分的最小值是 \(a+b\),第二场的前一百名的总分的最小值是 \(c+d\)。故输出 \(\max(a+b,c+d)\) 即可。
为什么?很显然,如果取较小值作为第 \(100\) 名,那么较大值还排在了后面,那就显然不合理了。
Code
int main() {
int t = Rint;
while(t--) {
int a = Rint, b = Rint, c = Rint, d = Rint;
printf("%d\n", max(a + b, c + d));
}
return 0;
}