在策劃了這場竊取 Count Monte Carlo 皇冠珠寶的最精密搶案後,你遇到了路途中的最後一道障礙:一個上鎖的保險箱。然而,你已經為這一刻進行了訓練,並磨練了你的開鎖能力。
這個保險箱有 $N$ 個轉盤,每個轉盤都可以設定為 $1$ 到 $2N$ 之間的任何整數值。Count Monte Carlo 為每個轉盤設定了一個正確的秘密數值。為了嘗試打開保險箱,你將每個轉盤設定為你選擇的數值,然後轉動保險箱門把。如果每個轉盤都設定為其正確的秘密數值,你將不會感覺到任何阻力,門會立即打開。
當然,透過隨機猜測所有正確的秘密數值來打開保險箱是不太可能成功的。然而,作為一名專業的開鎖專家,即使你的猜測錯誤,當你嘗試打開門時,你也會感覺到一些阻力,你可以利用這些資訊來幫助破譯正確的秘密數值。如果一個轉盤的秘密數值為 $h$,而當你嘗試開門時該轉盤被設定為 $d$,則該轉盤在轉動門把時會產生 $|h - d|$ 的阻力。你可以感覺到所有轉盤中的最大阻力。(注意,如果這個值為 $0$,則表示你已成功打開保險箱並完成了搶案!)
不幸的是,保全團隊已經察覺到你的存在,並且正在逼近你的位置。你每秒鐘可以嘗試打開保險箱一次,但他們將在 $4N$ 秒後到達!你能在被抓住之前完成搶案嗎?
互動
這是一個互動式問題。互動開始時,從標準輸入讀取一個整數 $N$ ($1 \le N \le 500$),代表保險箱上的轉盤數量。你的程式最多可以進行 $4N$ 次嘗試來打開保險箱門,方法是為每個轉盤指定一個嘗試數值。每次嘗試後,你將被告知從門把感受到的阻力。
進行嘗試時,請輸出一行包含 $N$ 個以空格分隔的整數 $d_1, d_2, \dots, d_N$ ($1 \le d_i \le 2N$),即你為每個轉盤提出的數值。然後從標準輸入讀取一個整數,代表你從門把感受到的阻力,即 $\max_i |h_i - d_i|$,其中 $h_i$ 是轉盤 $i$ 的(對你而言未知的)秘密數值。如果阻力為 $0$,則表示你已打開保險箱,你的程式應終止。否則,如果還有剩餘的嘗試次數,你可以再次嘗試。
如果你用盡了嘗試次數,你的程式應乾淨地退出(儘管這會被判定為錯誤,因為未能及時破解保險箱以逃脫警衛)。
每個轉盤的秘密數值是由 Count Monte Carlo 在搶案前預先設定的,並且不會隨著你的破解嘗試而改變。
說明
請務必在每次輸出後重新整理輸出串流 (flush the output stream),並在互動結束後乾淨地退出。請同時確保你完全遵循上述互動協定,關於在輸出的哪一行列印什麼資訊:例如,如果協定要求你在單行上列印一串以空格分隔的整數,評測系統將不會接受將每個整數分行列印。
如果評測系統收到無效或意外的輸入,它將列印 $-1$ 並立即退出。你的程式必須偵測到此錯誤報告並乾淨地退出,以便收到 Wrong Answer 的判決。如果你的程式因等待評測系統的進一步互動而阻塞,或試圖將 $-1$ 解釋為阻力值,你可能會收到不同的拒絕判決(例如 Time Limit Exceeded 或 Runtime Error),而不是 Wrong Answer。
我們為你提供了用於本地測試的命令列工具。該工具的頂部有解釋其用法的註解。
範例
範例 1
3
1 1 1
5
3 4 5
1
4 5 6
0