그리디 스케줄러

면접 대비

시간 제한1초메모리 제한512 MB

요약
줄에 선 고객을 가장 번호가 작은 빈 계산대로 보내고 처리 시간을 추적해 각 고객을 담당한 계산대 번호를 출력합니다.
난이도

보통10점 중 4점

유형
힙, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

가게에 1번부터 n번까지 번호가 붙은 n명의 계산원이 있고, c명의 손님이 줄을 서 있다. 줄의 맨 앞에 있는 손님은 비어 있는 계산원 중 번호가 가장 작은 계산원에게 계속 배정된다. i번째 손님의 장바구니를 처리하는 데는 ti초가 걸린다.

각 손님의 장바구니를 어느 계산원이 처리하게 되는지 구하시오.

입력

첫째 줄에 두 정수 n과 c가 공백을 사이에 두고 주어진다. (1 ≤ n ≤ c ≤ 1000) 둘째 줄에 c개의 정수 t1, ..., tc가 공백을 사이에 두고 주어진다. (1 ≤ ti ≤ 1,000) ti는 해당 손님의 장바구니를 처리하는 데 걸리는 시간이다.

출력

한 줄에 각 손님을 처리하는 계산원의 번호 c개를 공백을 사이에 두고 출력한다.

예제1

  1. 예제 1

    입력
    3 10
    406 424 87 888 871 915 516 81 275 578
    
    예상 출력
    1 2 3 3 1 2 3 1 2 1