https://codeforces.com/contest/1516/problem/A
시간 1초, 메모리 256MB
input :
output :
조건 :
An array b
of length k
is called good if its arithmetic mean is equal to 1
k
길이를 가진 b
배열이 만족하려면 계산값이 1이 되어야 한다.
계산값은 반올림이 수행되지 않는다. 그냥 실수 값 그대로다.
In an operation, you can append a non-negative integer to the end of the array
수행 할 때 음수가 아닌 값을 배열에 추가할 수 있다.
배열의 원소들을 더한 값(compare
)을 배열의 개수(n
)로 나누었을 때 1이 되어야 한다.
이 때에는 3가지 경우가 존재하는데
1. compare가 n보다 큰 경우
2. compare가 n과 동일한 경우
3. compare가 n보다 작은 경우
1의 경우 0을 추가해서 수를 맞춰 줘야 한다. compare과 n의 차이만큼 0의 개수가 추가로 들어가야 한다.
동일한 경우에는 더 이상 건드릴 게 없기 때문에 0을 출력 compare가 n보다 작다면 해당하는 양수 값 하나를 추가해서 답을 만들어 낼 수 있기 때문에 1을 출력한다.
import sys
t = int(sys.stdin.readline())
for i in range(t):
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
compare = sum(data)
if compare > n:
print(compare - n)
elif compare == n:
print(0)
else:
print(1)