처음에 작성했던 코드로 제출을 했더니 93%에서 ValueError가 출력되었는데 하나의 반례가 존재하기 때문에 발생하는 오류였다.
만약 다솜이 혼자 단독 입후자의 경우 매수해야할 후보자의 표가 존재하지 않기 때문에 이 부분에 대한 오류를 처리해줬더니 정답으로 출력되었다.
다솜이를 제외한 다른 후보자들끼리 내림차순 정렬한 리스트를 새로 만들어 한 표씩 매수하고 그 다음 다시 내림차순 정렬하여 조건을 만족시킬 때까지 표를 매수하는 과정을 반복했다.
N = int(input())
vote = []
for _ in range(N):
vote.append(int(input()))
buying = 0
candidate = sorted(vote[1:], reverse=True)
while True:
if len(candidate) == 0:
break
if max(candidate) < vote[0]:
break
else:
candidate[0] -= 1
vote[0] += 1
buying += 1
candidate.sort(reverse=True)
print(buying)