H - Ango
解説
/
実行時間制限: 15 sec / メモリ制限: 256 MB
配点 : 100 点
問題文
うさぎとあなたは暗号ごっこをしようとしています。 暗号ごっこは以下のように行われます。
- 最初に、あなたは N 個の 0 以上 M 以下の整数をうさぎに教えておく。このうち i 番目の整数を x_i とする。
- うさぎは Q 回、以下のような方法であなたに暗号を送ってくる。
- 2 つの整数 a, b (1 \leq a < b \leq N) をランダムに選び、x_a + x_b の値をあなたに伝える。
- あなたは x_a + x_b の値が送られてくるたびに a, b の値を当てなければならない。
あなたは暗号ごっこを無事成功させることができるでしょうか?
部分点
- N = 300, M = 10^{18}, Q = 200000 を満たすテストケースに正解した場合は、20 点が与えられる。
- N = 200000, M = 10^{18}, Q = 200000 を満たすテストケースに正解した場合は、上記とは別に 50 点が与えられる。
- N = 200000, M = 10^{12}, Q = 200000 を満たすテストケースに正解した場合は、上記とは別に 30 点が与えられる。
入出力
- 整数 N, M が空白区切りで標準入力に与えられる。
- あなたのプログラムは N 個の整数 x_i (1 \leq i \leq N) を空白区切りで出力しなければならない。
- 整数 Q が標準入力に与えられる。
- 以下を Q 回繰り返す。
- 2 つの整数 a, b (1 \leq a < b \leq N) がランダムに選ばれ、x_a + x_b の値が標準入力に与えられる。
- あなたのプログラムは整数 a, b を正しく予測し、整数 a, b を空白区切りで出力しなければならない。
入出力例も参考にせよ。
注意点
答えを出力した後、あなたのプログラムは直ちに終了しなければならない。 終了しなかった場合のジャッジ結果は不定である。
また、正しくない出力をした場合の結果も不定である(必ずしも WA
になるとは限らない)。
あなたのプログラムが正しい答えを出力して終了した場合、正答とみなされる。
出力した後に、出力をflushしなければならないことに注意せよ。flushしなかった場合、TLEとなることがある。
各言語での入出力の方法は過去の AtCoder で出題されている問題 (リンク: ABC 019 D: 高橋くんと木の直径) を参考にするとよい。
入出力例
N=3,\ M=4,\ Q=2 ときの入出力例を示す。
入力 | 出力 | 説明 |
---|---|---|
3 4 | N, M が与えられている。 | |
0 2 4 | x_i を出力している。 | |
2 | Q が与えられている。 | |
6 | a=2,b=3 が選ばれ、x_2 + x_3 の値が与えられている。 | |
2 3 | a, b を予測し、出力している。 | |
4 | a=1,b=3 が選ばれ、x_1 + x_3 の値が与えられている。 | |
1 3 | a, b を予測し、出力している。 |