A. Arithmetic Array # 726 Div.2
https://codeforces.com/contest/1516/problem/A
시간 1초, 메모리 256MB
input :
- t (1≤t≤1000)
- n (1≤n≤50)
- a1,…,an (−10^4≤ai≤10^4)
output :
- For each test case, output a single integer — the minimum number of non-negative integers you have to append to the array so that the arithmetic mean of the array will be exactly 1.
- 각 테스트케이스에서 한 자리의 정수값을 출력하시오.(추가할 정수의 개수를 출력)
조건 :
-
An array
b
of lengthk
is called good if its arithmetic mean is equal to1
-
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)
Author And Source
이 문제에 관하여(A. Arithmetic Array # 726 Div.2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsin2475/A.-Arithmetic-Array-726-Div.2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)