알고리즘

13458-백준-시험 감독

easysheep 2023. 3. 28. 10:14

1. 문제 출처

https://www.acmicpc.net/problem/13458

 

13458번: 시험 감독

첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)

www.acmicpc.net

2. 풀이

단순한 구현 문제이다

# 입력
n = int(input())
tests = list(map(int, input().split()))
total, vice = map(int, input().split())
# 모든 시험장에 총감독관 1명씩 들어 가므로 시험장 개수 만큼 감독관 수를 더해준다.
count = len(tests)
#  모든 시험장에 대해 몇 명의 부감독관이 필요한지 구한다.
for test in tests:
    # 총 감독관이 감독할 수 있는 양 만큼 뺴준다.
    test -= total 
    # 만약 총 감독관이 전부 감시 할 수 없으면 
    if test>0:
        # vice감독관이 필요한 만큼 투입된다
        count += (test//vice)
        test -= ((test//vice) * vice)
        # 만약 남은 감시가 필요한 인원이 vice보다 작으면
        # count +1 을 해준다.
        if test % vice != 0:
            count +=1
print(count)