SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
T = int(input())
for tc in range(1,T+1):
N, M, K = map(int,input().split()) # 자격을 얻은 사람수 / M초에 K개의 붕어빵 만듦
time = list(map(int,input().split())) # 도착하는 시간
buy = [0]*(max(time)+1) # 가장 늦게 손님이 오는 시간만큼의 배열
bung = 0 # 현재 붕어빵 개수
for i in time: # 손님이 오는 시간대에 미리 팔 개수를 - 해놓기
buy[i] -= 1
for i in range(max(time)+1):
if i != 0 and i % M == 0: # 0초 제외 M의 배수이면
bung += K # K개 생산
if buy[i] != 0: # 손님이 한명이상 왔음!
if bung + buy[i] < 0: # 팔 붕어빵이 부족할 때
print(f'#{tc}', 'Impossible')
break
else: # 안 부족할 때
bung += buy[i] # 팔고 남은 붕어빵 개수로 갱신
else:
print(f'#{tc}', 'Possible')
'swea' 카테고리의 다른 글
10966. 물놀이를 가자 (0) | 2023.09.04 |
---|---|
1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2023.08.28 |
2117. [모의 SW 역량테스트] 홈 방범 서비스 (0) | 2023.08.28 |
4408. 자기 방으로 돌아가기 (0) | 2023.08.28 |
4615. 재미있는 오셀로 게임 (0) | 2023.08.28 |