크게 어렵다고 생각이 되지 않는 문제였습니다. 그러나 모든 예제를 맞춤에도 정답처리가 되지 않아서 고생을 조금 하였고, 질문 글을 올려 문제점을 발견하여 해결하였습니다.
위의 과정으로 풀이가 끝이나게 됩니다. 제가 틀렸던 부분은 부감독관을 추가하는 부분이었는데, 처음에는 모든 경우를 answer += (a-main)//sub+1 으로 처리를 했었습니다. 이렇게 할 경우 왠만한 경우에는 잘 작동이 되었지만 (a-main)//sub가 나누어 떨어지는 경우 +1이 필요없는 과정이 되는 것 이었습니다.
n = int(input());
arr = list(map(int, input().split()));
main, sub = map(int, input().split());
answer = n; #총감독관은 무조건 들어가야 하므로 한명씩 넣어줍니다.
for a in arr:
if a-main <= 0: #총감독관 하나로 충분하다면
continue;
else: #부감독관을 추가해 줍니다.
if a-main<=sub: #부감독관 한명으로 해결이 되는 경우
answer += 1;
else: #부감독관이 여러명이 필요할 경우
mod = (a-main)%sub;
div = (a-main)//sub;
if mod == 0:
answer += div;
else:
answer += div+1;
print(answer);