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

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

УЧИЛИЩЕН АВТОБУС

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

요약
정원 M인 버스가 정해진 노선의 정류장들을 지나며 각 정류장에 도착하는 학생들을 태운다. 기다릴 수 있을 때 M명(전체가 더 적으면 전부)을 태우고 학교에 도착하는 최소 시간을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

Училищен автобус може да вози най-много М ученици. Авобусът всеки ден вози ученици до училището по установен маршрут, който включва няколко спирки. На всяка спирка в атобуса се качват ученици, ако има свободни места. Също автобусът може да чака на спирката ученици, които все още не са дошли. Известни са времената за придвижване на автобуса от една спирка до следващата, както и моментите на пристигане на всеки ученик на неговата спирка. Автобусът пристига на началната спирка в момент 0. Времето за качване на учениците в автобуса е 0.

Напишете програма school, която минимизира времето за придвижване на автобуса от началната спирка до училището, при условие, че превозва M ученици или всичките, ако общият им брой е по-малък от М.

입력

На първия ред на стандартния вход са записани две цели числа N и М – брой на спирките и брой на местата в автобуса. На всеки от следващите N реда са записани: ti - времето за придвижване до следващата спирка (за последната спирка – до училището), Ki – брой на учениците, които чакат на тази спирка и Ki, момента за пристигане на учениците в ненамаляващ ред (всички числа са цели).

출력

На един ред на стандартния изход програмата трябва да изведе едно цяло число – минималното време за придвижване на автобуса от началната спирка до училището, като той пристига или пълен, или превозва всички ученици, ако общият им брой е по-малък от М.

제한

  • 2 ≤ N*M ≤ 106

예제1

  1. 예제 1

    입력
    2 5
    5 3 1 4 9
    7 3 2 8 12
    
    예상 출력
    19