아래의 로직으로 문제를 접근하였다. 각각 시험장 인원마다 시험감독관을 배치하도록 하였다.
(첫 번째 시험장 경우) 시험장 총 인원 - 총감독관 감시 가능 인원
을 계산하고, 필요한 감독관 수를 1 증가시킨다.
계산된 시험장 총 인원 - 총감독관 감시 가능 인원
을 부감독관 감시 가능 인원
으로 나눈 후 해당 몫을 필요한 감독관 수에 더한다.
만약 나머지가 0이 아니면 -> 필요한 감독관 수 + 1
나눠 떨어지면 -> 다음 시험장 검사
위 과정 반복한다.
반복이 종료되면 필요한 감독관 수에 시험장의 총 갯수를 더한다. (총감독관은 무조건 1명이 있어야하기 때문에 시험장의 총 갯수와 같다!)
※ 예외처리를 해야한다! 총감독관 1명만으로 인원을 감시할 수 있으면 부감독관을 배치할 필요가 없다.
import sys
input = sys.stdin.readline
N = int(input())
test_sites = list(map(int, input().split()))
B, C = map(int, input().split())
ans = 0
for test_site in test_sites:
# 부감독관 배치
# (주의!) 총감독관 먼저 1명을 무조건 선정해야함. -> 문제에 해당조건이 있나?
# 총감독관 1명만으로 시험인원 감독가능하면 아래 코드 실행 X -> 정답에서 +1 해줘서 총감독관만으로 시험인원 감독하게 함
if test_site >= B:
test_site -= B
ans += test_site // C
if test_site % C != 0:
ans += 1
# 총감독관 배치 인원 수는 N이다. (총감독관은 오직 1명)
print(ans + N)