問題一覧 > 通常問題

No.2821 A[i] ← 2A[j] - A[i]

レベル : / 実行時間制限 : 1ケース 1.500秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 69
作問者 : 🦠みどりむし / テスター : achapi FplusFplusF viral8 👑 AngrySadEight
1 ProblemId : 10087 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-07-26 19:35:13

問題文

NN 個の整数 A1,A2,,ANA_1, A_2, \dots, A_N があります。

NN 個の互いに独立した問題 1-gathering,2-gathering,,N-gathering1\text{-gathering}, 2\text{-gathering}, \dots, N\text{-gathering} を解いてください:

k-gatheringk\text{-gathering}

長さ kk の整数列 B=(B1,B2,,Bk)B = (B_1, B_2, \dots, B_k) があり、はじめ B=(A1,A2,,Ak)B = (A_1, A_2, \dots, A_k) が満たされています。

次の操作を 00 回以上何度でも行えます:

  • 1i,jk1 \leq i, j \leq k なる 22 整数 i,ji, j を自由に選び、Bi\large B_i2BjBi\large 2B_j - B_i の値で置き換える。

操作を適切に行って得られる VkmaxBminBV_k \coloneqq \displaystyle \max B - \min B最小値 VkV'_k を求めてください。
なお、これは必ず存在します。

入力

入力は、以下の形式で標準入力より与えられる:

NN
A1A2ANA_1 \enspace A_2 \enspace \dots \enspace A_N

出力

V1,V2,,VNV'_1, V'_2, \dots, V'_N の値を、以下の形式で標準出力へ出力せよ:

V1V'_1
V2V'_2
\vdots
VNV'_N

制約

  • 1N3×1051 \leq N \leq 3 \times 10^5
  • Ai<260(1iN)\left| A_i \right| < 2^{60} \scriptsize \; (1 \leq i \leq N)
  • 入力はすべて整数

サンプル

入出力例1
入力
4
2 6 5 -4
出力
0
4
1
1

たとえば、問題 3-gathering3\text{-gathering} について、次のように操作を行うことで V3=1V_3 = 1 を達成できます:

  • はじめ、B=(2,6,5)B = (2, 6, 5) である。
  • (i,j)=(2,3)(i, j) = (2, 3) として操作を行う。
    • B=(2,4,5)B = (2, 4, 5) となる。
  • (i,j)=(3,2)(i, j) = (3, 2) として操作を行う。
    • B=(2,4,3)B = (2, 4, 3) となる。
  • (i,j)=(1,3)(i, j) = (1, 3) として操作を行う。
    • B=(4,4,3)B = (4, 4, 3) となる。
    • このとき maxBminB=43=1\max B - \min B = 4 - 3 = 1 である。
また、どのように操作を行っても V3<1V_3 < 1 とすることはできないため、V3=1V'_3 = 1 です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。