题库练习 Elevator
← 上一题 下一题 →

A8171 | Elevator

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

And now the numerous qualifying tournaments for one of the most prestigious Russian contests Russian Codec Cup are over. All $n$ participants who have made it to the finals found themselves in a huge $m$ -floored $10^{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 $0$ ) the elevator is located on the $1$ -st floor, then it moves to the $2$ -nd floor, then — to the $3$ -rd floor and so on until it reaches the $m$ -th floor. After that the elevator moves to floor $m-1$ , then to floor $m-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 $n$ participant you are given $s_{i}$ , which represents the floor where the $i$ -th participant starts, $f_{i}$ , which represents the floor the $i$ -th participant wants to reach, and $t_{i}$ , which represents the time when the $i$ -th participant starts on the floor $s_{i}$ .

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

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

输入格式

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

Next $n$ lines contain information about the participants in the form of three space-separated integers $s_{i}$ $f_{i}$ $t_{i}$ ( $1<=s_{i},f_{i}<=m,0<=t_{i}<=10^{8}$ ), described in the problem statement.

输出格式

Print $n$ 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
C++ 编辑器
输入
输出