G - Don't make zero Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MiB

配点 : {100}

問題文

この問題は インタラクティブ問題 (あなたの作成したプログラムとジャッジシステムが入出力を介して対話を行う形式の問題)です。

以下の条件を共に満たす整数列を non-zero 数列 と呼びます。

  • どの 2 つの項も相異なる
  • どの空でない (連続とは限らない) 部分列の総和も 0 でない

例えば、(5), (1,-2,3), (-3,7,5,-6) などは non-zero 数列ですが、(0), (1,-3,1), (2,3,-2), (1,2,3,-4) などは non-zero 数列ではありません。

正整数 N, X が与えられます。

-N 以上 N 以下の整数からなる長さ X(=2 \lfloor \sqrt N \rfloor - 1) の non-zero 数列 (A_1, A_2, \dots, A_X) を前から順に 1 項ずつ出力してください。ただし、各項の正負は直前に指定されます。

R 個のテストケースが与えられるので、それぞれについてやり取りを行ってください。

制約

  • 1\leq R \leq 10^4
  • 1\leq N \leq 10^4
  • X=2 \lfloor \sqrt N \rfloor - 1
  • R 個のテストケースにおける N の総和は 10^4 以下

入出力

この問題はインタラクティブ問題(あなたの作成したプログラムとジャッジシステムが入出力を介して対話を行う形式の問題)です。 最初に、テストケースの数 R を標準入力から受け取ってください。

R

その後、以下のやりとりを R 回繰り返してください。 各テストケースでは、まず正整数 N,X が与えられます。

N X

その後、各 i = 1, 2, \dots, X について、この順に次のやりとりを行ってください。

まず、A_i の符号 \text{op}_i が与えられます。

\text{op}_i

\text{op}_i+, -, ! のいずれかで、それぞれ以下を表します。

  • \text{op}_i = + のとき、A_i が正の整数でなければならないことを表します。
  • \text{op}_i = - のとき、A_i が負の整数でなければならないことを表します。
  • \text{op}_i = ! のとき、あなたのプログラムが不正解と判定されたことを表します。この場合、ただちにプログラムを終了してください。

その後、-N 以上 N 以下であって、指定された符号の整数 A_i1 行に出力してください。(正の整数の出力に符号を付ける必要はありません。)

A_i

出力した (A_1, A_2, \dots, A_X) は non-zero 数列になっていなければなりません。

注意点

  • 出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE となる可能性があります。
  • 実行時間・使用メモリはジャッジプログラムとあなたのプログラムの合計で計測されます。ジャッジプログラムは最大で 100 ms・ 5 MiB 程度を消費します。

入出力例

入力 出力 説明
2 テストケース数 R が与えられます。
4 3 最初のテストケースの N, X が与えられます。
- \text{op}_1 = - なので、A_1 は負の整数でなければなりません。
-4 A_1 = -4 を出力しました。
- \text{op}_2 = - なので、A_2 は負の整数でなければなりません。
-1 A_2 = -1 を出力しました。
+ \text{op}_3 = + なので、A_3 は正の整数でなければなりません。
2 A_3 = 2 を出力しました。(A_1, A_2, A_3) = (-4, -1, 2) は条件を満たす non-zero 数列なので、このテストケースは正解となります。
3 1 2 個目のテストケースの N, X が与えられます。
+ \text{op}_1 = + なので、A_1 は正の整数でなければなりません。
3 A_1 = 3 を出力しました。(A_1) = (3) は条件を満たす non-zero 数列なので、このテストケースは正解となります。