RocksonLee's Blog
avatar
RocksonLee
2022-03-07 14:12:51

Problem

luogu

codeforces

Solution

接受球不消耗次数,球从一个人手里出去,再回到他手上可以消耗两次

如果有一个人的次数多到其他人都没办法消耗他的次数

即其他人的次数之和应该比他少

那么他需要传出一颗球消耗一个次数

注意特判没有传递球,就不需要有球

可得 ans= \begin{cases} 2 \times maxn-sum & (2*max \geq sum)\\ 1 & (2*max < sum)\\ \end{cases}

Code

```cpp

include <bits/stdc++.h>

using namespace std; int main() { unsigned long long t, temp, n, sum, maxn; scanf("%llu", &t); for (int kkz = 0; kkz < t; kkz++) { maxn = 0, sum = 0; scanf("%llu", &n); for (int i = 0; i < n; i++) { scanf("%llu", &temp); sum += temp; maxn = max(temp, maxn); } if (maxn == 0) printf("0\n"); else if (maxn 2 <= sum) printf("1\n"); else printf("%llu\n", maxn 2 - sum); } return 0; } ``

CF 1649B Game of Ball Passing
comment评论
Search
search