TopCoder

User's AC Ratio

100.0% (18/18)

Submission's AC Ratio

61.3% (19/31)

Tags

Description

小馬最近在駕訓班勤奮地練習準備考取大馬國駕照,但是小馬發現駕訓班的學員們開車技術不太好,開車時總是只會用自己習慣的固定力道採著油門,而且不太會切換 P 檔與 D 檔,導致每輛駕訓班的車輛都會以等速度在馬路上前進或後退。駕訓班教練為了維護學員的安全,避免發生車禍,為這些車輛設計了一個彈性碰撞裝置:每次兩輛車碰撞時都會互換速度。現在駕訓班的一維馬路上有 $n$ 台車,對於每台車 $i(1 \leq i \leq n)$,給定其初始位置 $r_i$ 及初始速度 $v_i$,並且兩台車子在碰撞時會交換速度,更正式地說:
若在某時間點兩輛車 $i, j(1 \leq i < j \leq n)$ 的位置在相同的座標,且碰撞前速度分別為 $v_i=x, v_j=y$,則碰撞後兩輛車的速度交換後變為 $v_i=y, v_j=x$。
給定時間 $t$,求經過時間 $t$ 之後每台車子的位置。保證在時間 $t$ 的範圍內,不會有三輛車同時在相同的位置,且初始時每輛車子的位置皆不相同。

Input Format

輸入的第一行有兩個數字 $n, t$,代表車子的總數及經過的時間。
接下來共有 $n$ 行,每行給定兩個數字 $r_i, v_i$,代表第 $i$ 台車的初始位置及速度。

  • $1 \le n \le 2\times 10^ 5$
  • $1 \le t \le 2\times 10^ 9$
  • $-10^ 9 \le r_i \le 10^ 9$
  • $-10^ 9 \le v_i \le 10^ 9$
  • 每輛車的初始位置皆不相同

Output Format

請輸出 $n$ 行,每行有一個數字,代表第 $i$ 台車的末位置。

Sample Input 1

2 5
-10 -200
1 100

Sample Output 1

-1010
501

Sample Input 2

6 7
-67 67
1 3
49 -94
4 9
30 30
-2 3

Sample Output 2

-609
22
402
67
240
19

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資。 0
2 0~15 $n \leq 1000$ 60
3 0~24 無特別限制。 40

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536 1 2 3
1 1000 262144 65536 1 2 3
2 1000 262144 65536 2 3
3 1000 262144 65536 2 3
4 1000 262144 65536 2 3
5 1000 262144 65536 2 3
6 1000 262144 65536 2 3
7 1000 262144 65536 2 3
8 1000 262144 65536 2 3
9 1000 262144 65536 2 3
10 1000 262144 65536 2 3
11 1000 262144 65536 2 3
12 1000 262144 65536 2 3
13 1000 262144 65536 2 3
14 1000 262144 65536 2 3
15 1000 262144 65536 2 3
16 1000 262144 65536 3
17 1000 262144 65536 3
18 1000 262144 65536 3
19 1000 262144 65536 3
20 1000 262144 65536 3
21 1000 262144 65536 3
22 1000 262144 65536 3
23 1000 262144 65536 3
24 1000 262144 65536 3