[SWEA] 1860. 진기의 최고급 붕어빵

야금야금 공부·2023년 5월 16일
0

SWEA

목록 보기
33/43
post-thumbnail

1860. 진기의 최고급 붕어빵


문제 풀이

  • 손님이 0초에 도착할 경우를 생각하지 않으면 오답이 된다!
    손님이 0초에 도착하면 만들어진 붕어빵이 없으므로 "Impossible"
  • 손님 도착 시간이 순서대로가 아니기 때문에 정렬을 필수적으로 해주어야 한다.
# 0초부터 붕어빵 생산 / m초 시간을 소요해 k개 붕빵 만들기 가능
# 모든 손님들이 기다리는 시간없이 붕어빵을 제공할 수 있는 지 판별

t = int(input())

for i in range(1, t + 1):
    # n명 / m초 동안 k개 생산
    n, m, k = map(int, input().split())

    arrive = list(map(int, input().split()))
    arrive.sort()

    bong = 0
    for j in range(arrive[-1] + 1):
        if j % m == 0 and j != 0:   # m초마다 k만큼 붕어빵 생산
            bong += k

        for a in arrive:           # 만약 손님이 도착하는 a초가 되면 손님이 붕어빵을 사감(붕어빵 -1)
            if j == a:
                bong -= 1
                break

        if bong < 0:            # 만약 붕어빵이 음수가 되면, 손님이 붕어빵이 없는 시간에 도착했으므로 Impossible
            print(f"#{i} Impossible")
            break

    if bong >= 0:             # 붕어빵이 양수이면 Possible
        print(f"#{i} Possible")

0개의 댓글