CF117A.Elevator

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

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 108-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.

如今,俄罗斯最具声望的编程竞赛之一——俄罗斯编解码杯(Russian Codec Cup)的众多资格赛已全部结束。成功晋级决赛的 nn 名参赛者全部入住了一家拥有 mm 层楼、评级为 108 星的巨型酒店。当然,在这种地方,大家的第一反应自然是:“来体验一下电梯吧?”

该酒店的电梯在各楼层之间始终按照一个固定不变的运行模式移动。初始时刻(时间 00)电梯位于第 11 层,随后依次前往第 22 层、第 33 层……直至到达第 mm 层;到达第 mm 层后,电梯转而下行至第 m−1m-1 层,再至第 m−2m-2 层……如此继续,直至回到第 11 层。此后该过程无限重复。我们已知电梯容量无限;同时我们也知道,每一层楼的人都会立即进入电梯。电梯在相邻楼层间运行耗时为 11 单位时间。

对于每位参赛者 ii(共 nn 人),给定三个参数:sis_i 表示该参赛者起始所在的楼层,fif_i 表示该参赛者希望抵达的目标楼层,tit_i 表示该参赛者于时间 tit_i 出现在起始楼层 sis_i。

请对每位参赛者输出其抵达目标楼层 fif_i 的最早可能时间。

若电梯恰好于时间 tit_i 停靠在楼层 sis_i,则第 ii 位参赛者可立即进入电梯;若某参赛者起始楼层 sis_i 即为其目标楼层 fif_i(即 si=fis_i = f_i),则该参赛者抵达楼层 fif_i 的时间为 tit_i。

输入格式

The first line contains two space-separated integers n and m (1 ≤ n ≤ 105, 2 ≤ m ≤ 108).

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 ≤ 108), described in the problem statement.

第一行包含两个以空格分隔的整数 nn 和 mm(1 ≤ n ≤ 1051 ≤ n ≤ 10^5,2 ≤ m ≤ 1082 ≤ m ≤ 10^8)。

接下来的 nn 行描述参赛者的信息,每行包含三个以空格分隔的整数 sis_i、fif_i、tit_i(1 ≤ si, fi ≤ m1 ≤ s_i, f_i ≤ m,0 ≤ ti ≤ 1080 ≤ t_i ≤ 10^8),其含义如题目陈述中所述。

输出格式

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

输出 n 行,每行包含一个整数——每位参与者到达目标楼层的时间。

输入输出样例

  • 输入#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 = 2 by the time equal to t = 3. To get to the floor f = 4, he has to wait until the time equals 7, 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 f at time equal to 9. The second participant starts at the time t = 0 on the floor s = 1, enters the elevator immediately, and arrives to the floor f = 2. The third participant doesn't wait for the elevator, because he needs to arrive to the same floor where he starts.

我们来考虑第一个样例。第一位参与者在时间 t=3t = 3 时从楼层 s=2s = 2 出发。为了到达楼层 f=4f = 4,他必须等待至时间 77(此时电梯第二次向上运行)。然后第一位参与者应进入电梯,并上行两层楼。在这种情况下,第一位参与者于时间 99 到达楼层 ff。第二位参与者在时间 t=0t = 0 时从楼层 s=1s = 1 出发,立即进入电梯,并抵达楼层 f=2f = 2。第三位参与者无需等待电梯,因为他需要到达的楼层与起始楼层相同。

输入解题思路,AI测评打分。不知道怎么写?

首页