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

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

은행

면접 대비

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

요약
도착 시각, 직원 상담 시간, 회계사 상담 시간이 주어진 n명의 난쟁이에 대해 m명의 직원이 있는 공유 대기열과 한 명의 회계사를 시뮬레이션하여 각자의 퇴장 시각을 구한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 힙, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

어느 먼 세계의 에르보블레라는 도시에 새 은행이 문을 열었다. 은행에는 고객을 응대하는 직원 mm명과 수석 회계사 한 명이 있다.

드워프들이 볼일을 보러 은행에 온다. ii번째 드워프는 은행이 문을 연 뒤 tit_i분 후에 은행에 도착한다. 먼저 mm명의 직원 중 한 명에게 aia_i분 동안 볼일을 보고, 그다음 수석 회계사 사무실에서 bib_i분을 더 보내야 한다.

여러 드워프가 같은 직원이나 수석 회계사 사무실에 동시에 있을 수 없으므로, 직원과 수석 회계사 앞에는 줄이 생긴다.

직원 앞의 줄은 하나이고, 줄에 있는 드워프는 가장 먼저 비는 직원에게 간다. 두 드워프가 같은 시각에 은행에 도착하면 번호가 작은 드워프가 직원 줄에 먼저 선다. 드워프가 시각 xx에 직원에게 응대를 받기 시작하면 시각 x+aix+a_i에 끝나고, 그 시각에 다른 드워프가 같은 직원에게 응대를 받기 시작할 수 있다. 시각 tt에 은행에 온 드워프는 tt 이후의 어느 시각에든 직원에게 응대를 받기 시작할 수 있다.

직원에게 볼일을 마친 드워프는 수석 회계사 줄로 간다. 마찬가지로 두 드워프가 이 줄에 같은 시각에 도착하면 번호가 작은 드워프가 먼저 서고, 한 드워프의 응대가 끝나는 시각에 다음 드워프의 응대가 바로 시작될 수 있으며, 드워프는 직원에게 볼일을 마친 시각 이후에 수석 회계사에게 갈 수 있다.

오늘 은행에 드워프 nn명이 오려고 한다. 각 드워프에 대해 은행에 들어오는 시각, 창구에서 보내려는 시간, 회계사에게 보내려는 시간이 주어진다. 각 드워프가 은행을 나서는 시각을 구하시오.

입력

첫째 줄에 두 정수 nn과 mm이 주어진다 (1≤n≤100 0001 \le n \le 100\,000, 1≤m≤101 \le m \le 10). nn은 드워프의 수, mm은 직원의 수이다. 다음 nn개 줄에 세 정수 tit_i, aia_i, bib_i가 주어진다 (1≤ti,ai,bi≤1091 \le t_i, a_i, b_i \le 10^9). tit_i는 ii번째 드워프가 도착하는 시각, aia_i는 ii번째 드워프가 은행 직원에게 보내야 하는 시간(분), bib_i는 수석 회계사 사무실에서 보내야 하는 시간(분)이다. 드워프는 은행에 도착하는 순서대로 주어지며, 즉 i<ji < j인 모든 쌍에 대해 ti≤tjt_i \le t_j이다.

출력

정수 nn개를 출력한다. ii번째 수는 ii번째 드워프가 은행을 떠나는 시각, 즉 은행이 문을 연 뒤 지난 시간(분)이어야 한다.

예제1

  1. 예제 1

    입력
    4 2
    1 3 3
    1 2 2
    2 2 1
    2 1 4
    
    예상 출력
    8
    5
    9
    13