CF117A.Elevator

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

And now the numerous qualifying tournaments for one of the most prestigious Russian contests Russian Codec Cup are over. All nn participants who have made it to the finals found themselves in a huge mm -floored 10810^{8} -star hotel. Of course the first thought to come in a place like this is "How about checking out the elevator?".

The hotel's elevator moves between floors according to one never changing scheme. Initially (at the moment of time 00 ) the elevator is located on the 11 -st floor, then it moves to the 22 -nd floor, then — to the 33 -rd floor and so on until it reaches the mm -th floor. After that the elevator moves to floor m1m-1 , then to floor m2m-2 , and so on until it reaches the first floor. This process is repeated infinitely. We know that the elevator has infinite capacity; we also know that on every floor people get on the elevator immediately. Moving between the floors takes a unit of time.

For each of the nn participant you are given sis_{i} , which represents the floor where the ii -th participant starts, fif_{i} , which represents the floor the ii -th participant wants to reach, and tit_{i} , which represents the time when the ii -th participant starts on the floor sis_{i} .

For each participant print the minimum time of his/her arrival to the floor fif_{i} .

If the elevator stops on the floor sis_{i} at the time tit_{i} , then the ii -th participant can enter the elevator immediately. If the participant starts on the floor sis_{i} and that's the floor he wanted to reach initially ( si=fis_{i}=f_{i} ), then the time of arrival to the floor fif_{i} for this participant is considered equal to tit_{i} .

输入格式

The first line contains two space-separated integers nn and mm ( 1<=n<=105,2<=m<=1081<=n<=10^{5},2<=m<=10^{8} ).

Next nn lines contain information about the participants in the form of three space-separated integers sis_{i} fif_{i} tit_{i} ( 1<=si,fi<=m,0<=ti<=1081<=s_{i},f_{i}<=m,0<=t_{i}<=10^{8} ), described in the problem statement.

输出格式

Print nn lines each containing one integer — the time of the arrival for each participant to the required floor.

输入输出样例

  • 输入#1

    7 4
    2 4 3
    1 2 0
    2 2 0
    1 2 1
    4 3 5
    1 2 2
    4 2 0
    

    输出#1

    9
    1
    0
    7
    10
    7
    5
    
  • 输入#2

    5 5
    1 5 4
    1 3 1
    1 3 4
    3 1 5
    4 2 5
    

    输出#2

    12
    10
    10
    8
    7
    

说明/提示

Let's consider the first sample. The first participant starts at floor s=2s=2 by the time equal to t=3t=3 . To get to the floor f=4f=4 , he has to wait until the time equals 77 , that's the time when the elevator will go upwards for the second time. Then the first participant should get on the elevator and go two floors up. In this case the first participant gets to the floor ff at time equal to 99 . The second participant starts at the time t=0t=0 on the floor s=1s=1 , enters the elevator immediately, and arrives to the floor f=2f=2 . The third participant doesn't wait for the elevator, because he needs to arrive to the same floor where he starts.

首页