CF172C.Bus

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a bus stop near the university. The lessons are over, and nn students come to the stop. The ii -th student will appear at the bus stop at time tit_{i} (all tit_{i} 's are distinct).

We shall assume that the stop is located on the coordinate axis OxOx , at point x=0x=0 , and the bus goes along the ray OxOx , that is, towards the positive direction of the coordinate axis, and back. The ii -th student needs to get to the point with coordinate xix_{i} ( x_{i}>0 ).

The bus moves by the following algorithm. Initially it is at point 0. The students consistently come to the stop and get on it. The bus has a seating capacity which is equal to mm passengers. At the moment when mm students get on the bus, it starts moving in the positive direction of the coordinate axis. Also it starts moving when the last ( nn -th) student gets on the bus. The bus is moving at a speed of 1 unit of distance per 1 unit of time, i.e. it covers distance yy in time yy .

Every time the bus passes the point at which at least one student needs to get off, it stops and these students get off the bus. The students need 1+[k/2]1+[k/2] units of time to get off the bus, where kk is the number of students who leave at this point. Expression [k/2][k/2] denotes rounded down k/2k/2 . As soon as the last student leaves the bus, the bus turns around and goes back to the point x=0x=0 . It doesn't make any stops until it reaches the point. At the given point the bus fills with students once more, and everything is repeated.

If students come to the stop when there's no bus, they form a line (queue) and get on the bus in the order in which they came. Any number of students get on the bus in negligible time, you should assume that it doesn't take any time. Any other actions also take no time. The bus has no other passengers apart from the students.

Write a program that will determine for each student the time when he got off the bus. The moment a student got off the bus is the moment the bus stopped at the student's destination stop (despite the fact that the group of students need some time to get off).

输入格式

The first line contains two space-separated integers n,mn,m ( 1<=n,m<=1051<=n,m<=10^{5} ) — the number of students and the number of passengers the bus can transport, correspondingly. Next nn lines contain descriptions of the students, one per line. Each line contains a pair of integers ti,xit_{i},x_{i} ( 1<=ti<=105,1<=xi<=1041<=t_{i}<=10^{5},1<=x_{i}<=10^{4} ). The lines are given in the order of strict increasing of tit_{i} . Values of xix_{i} can coincide.

输出格式

Print nn numbers w1,w2,...,wnw_{1},w_{2},...,w_{n} , wiw_{i} — the moment of time when the ii -th student got off the bus. Print the numbers on one line and separate them with single spaces.

输入输出样例

  • 输入#1

    1 10
    3 5
    

    输出#1

    8
    
  • 输入#2

    2 1
    3 5
    4 5
    

    输出#2

    8 19
    
  • 输入#3

    5 4
    3 5
    4 5
    5 5
    6 5
    7 1
    

    输出#3

    11 11 11 11 20
    
  • 输入#4

    20 4
    28 13
    31 13
    35 6
    36 4
    52 6
    53 4
    83 2
    84 4
    87 1
    93 6
    108 4
    113 6
    116 1
    125 2
    130 2
    136 13
    162 2
    166 4
    184 1
    192 2
    

    输出#4

    51 51 43 40 93 89 86 89 114 121 118 121 137 139 139 152 195 199 193 195
    

说明/提示

In the first sample the bus waits for the first student for 33 units of time and drives him to his destination in additional 55 units of time. So the student leaves the bus at the moment of time 3+5=83+5=8 .

In the second sample the capacity of the bus equals 11 , that's why it will drive the first student alone. This student is the same as the student from the first sample. So the bus arrives to his destination at the moment of time 88 , spends 1+[1/2]=11+[1/2]=1 units of time on getting him off, and returns back to 00 in additional 55 units of time. That is, the bus returns to the bus stop at the moment of time 1414 . By this moment the second student has already came to the bus stop. So he immediately gets in the bus, and is driven to his destination in additional 55 units of time. He gets there at the moment 14+5=1914+5=19 .

In the third sample the bus waits for the fourth student for 66 units of time, then drives for 55 units of time, then gets the passengers off for 1+[4/2]=31+[4/2]=3 units of time, then returns for 55 units of time, and then drives the fifth student for 11 unit of time.

首页