题解 CF1593A Elections

智子

2021-10-14 22:24:47

Solution

## 题意 三个人参加投票选举,分别得到了 $a$ 票、 $b$ 票和 $c$ 票。求每个人至少还要得到多少票才能比另外两个人得到的票都多。(每个人需要多得到的票数独立计算,不会互相影响。) ## 思路 对于第一个人,检查 $a$ 是否大于 $\max\{b, c\}$,如果大于就不需要多得到投票,否则需要多得到 $\max\{b, c\} - a + 1$ 票。(之所以要 `+1` 是因为必须比别人得票多而不是和别人得票相等。) 第二个人、第三个人同理。 ## 代码 ```cpp #include<iostream> #include<algorithm> using namespace std; int main() { int a, b, c, T; cin >> T; while(T--) { cin >> a >> b >> c; if(a > max(b, c)) { cout << 0 << " "; } else { cout << max(b, c) - a + 1 << " "; } if(b > max(a, c)) { cout << 0 << " "; } else { cout << max(a, c) - b + 1 << " "; } if(c > max(b, a)) { cout << 0 << " "; } else { cout << max(b, a) - c + 1 << " "; } cout << endl; } return 0; } ```