아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

건강검진

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

요약
줄이 고정된 n명의 학생과 항목당 소요 시간이 주어질 때, 시각 t+0.5에 각 학생이 검사 중이거나 기다리는 항목 번호를 구한다.
난이도

어려움10점 중 8점

유형
시뮬레이션, 수학, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

대학교 학생은 모두 건강검진을 받아야 한다. 검진 항목에는 1, 2, 3, ... 과 같이 번호가 붙어 있고, 항목 개수에는 제한이 없다.

학생들은 검진이 시작되기를 기다리며 한 줄로 서 있다. 학생 번호는 줄 맨 앞에서부터 1, 2, 3, ... 이다. 학생은 항목 번호가 작은 것부터 차례대로 검진을 받아야 하고, 어떤 항목도 건너뛸 수 없으며 순서도 바꿀 수 없다. 줄에 선 학생의 순서 역시 바뀌지 않는다.

서로 다른 항목은 동시에 진행한다. 다만 한 항목은 같은 시각에 학생 한 명만 검진한다. 그래서 학생은 앞에 선 학생이 그 항목을 모두 끝낼 때까지 다음 항목의 줄에서 기다린다.

학생마다 건강 상태라고 부르는 정수 값이 하나씩 있다. 건강 상태가 hh인 학생은 항목 하나를 끝내는 데 hh분이 걸린다. 같은 항목에서 두 학생 사이에 걸리는 시간도, 한 학생의 두 항목 사이에 걸리는 시간도 없다고 가정한다.

주어진 시각에 각 학생이 검진받고 있는 항목, 또는 기다리고 있는 항목의 번호를 구하라.

입력

입력은 다음 형식의 테스트 케이스 하나로 이루어진다.

n t
h1
.
.
.
hn

nn과 tt는 정수이다. nn은 학생 수이고 (1≤n≤1051 \le n \le 10^5), tt는 살펴볼 시각이다 (0≤t≤1090 \le t \le 10^9). 각 ii에 대해 정수 hih_i는 학생 ii의 건강 상태이다 (1≤hi≤1091 \le h_i \le 10^9).

출력

nn개의 줄에 정수를 하나씩 출력한다. ii번째 줄에는 검진이 시작되고 (t+0.5)(t + 0.5)분이 지난 시각에 학생 ii가 검진받고 있는 항목, 또는 기다리고 있는 항목의 번호를 출력한다. 그 시각에 모든 학생에게는 아직 끝내지 못한 항목이 남아 있다고 가정해도 된다.

예제2

  1. 예제 1

    입력
    3 20
    5
    7
    3
    
    예상 출력
    5
    3
    2
    
  2. 예제 2

    입력
    5 1000000000
    5553
    2186
    3472
    2605
    1790
    
    예상 출력
    180083
    180083
    180082
    180082
    180082