atcoder#ABC212F. [ABC212F] Greedy Takahashi
[ABC212F] Greedy Takahashi
配点 : 点
問題文
から までの番号が振られた 個の都市と、それらの間を運行する 本のバスがあります。 本目のバスは時刻 に都市 を出発し、時刻 に都市 に到着します。
さて、これら 個の都市の間を高橋くんが移動します。高橋くんは、時刻 に都市 にいるとき、以下のように行動します。
- 時刻 以降(時刻 ちょうどを含む)に都市 を出発するバスが存在するなら、そのようなバスのうち最も出発時刻が早いものに乗り、他の都市に移動する。
- そのようなバスが存在しないなら、何もせず都市 に居続ける。
高橋くんは上記の行動を 2. の状態になるまで繰り返します。 本のバスの出発時刻は互いに異なることが保証されるため、高橋くんが乗るバスは常に一意に定まります。また、バスの乗り換えにかかる時間は無視することができます。
それでは本題に入りましょう。 個のクエリに答えてください。 個目のクエリの内容は以下の通りです。
- 高橋くんが時刻 に都市 から行動を開始するとき、時刻 にはどの都市にいるか、あるいはどのバスに乗っているか。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
行に渡って出力せよ。 行目には、 個目のクエリに対する答えを以下の指示にしたがって出力すること。
- 高橋くんが時刻 にいずれかのバスに乗っているならば、そのバスの始点、終点となる都市の番号をこの順に空白区切りで出力する。
- そうでない、すなわち高橋くんが時刻 にいずれかの都市にいるならば、その都市の番号を出力する。
3 2 3
1 2 1 3
2 3 3 5
1 1 5
2 2 3
1 3 2
2 3
2
3
つ目のクエリにおいて、高橋くんは以下の通りに動きます。
- はじめ、都市 に時刻 にいる。
- 時刻 に都市 を出発するバスに乗り、時刻 に都市 に到着する。
- 時刻 に都市 を出発するバスに乗り、時刻 に都市 に到着する。
- 時刻 以降に都市 を出発するバスは存在しないため、都市 に(永遠に)居続ける。
時刻 において、高橋くんは都市 を出発して都市 に到着するバスに乗っています。そのため、「出力」の項に書かれている通り、, を空白区切りで出力します。
8 10 10
4 3 329982133 872113932
6 8 101082040 756263297
4 7 515073851 793074419
8 7 899017043 941751547
5 7 295510441 597348810
7 2 688716395 890599546
6 1 414221915 748470452
6 4 810915860 904512496
3 1 497469654 973509612
4 1 307142272 872178157
374358788 4 509276232
243448834 6 585993193
156350864 4 682491610
131643541 8 836902943
152874385 6 495945159
382276121 1 481368090
552433623 2 884584430
580376205 2 639442239
108790644 7 879874292
883275610 1 994982498
4
6 1
4 1
8
6 1
1
2
2
7 2
1