1860. 진기의 최고급 붕어빵 (SWEA)
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
출처:
나의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
T = int(input())
for test_case in range(1, T + 1):
N,M,K=map(int,input().split())
N_list=list(map(int,input().split()))
N_list.sort()
i=0
b_num=0
while i<len(N_list):
time=N_list[i]
cnt=time//M
b_num=cnt*K-(i+1)
if b_num<0:
print(f'#{test_case} Impossible')
break
i+=1
else:
print(f'#{test_case} Possible')
- 손님이 도착하는 시간들의 list를 정렬하고, 해당 시간에 만들어지는 붕어빵 수를 유지한다.
- i번째 손님이 오면 붕어빵의 수는 i+1만큼 없어지는 것이고, 없어졌을 때의 붕어빵 수가 0이상이어야 한다.
- 따라서 0이상이 안될 때 impossible하다.
This post is licensed under CC BY 4.0 by the author.