難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) Lv.5.0 (2票)

投票の分布
  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.52票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Pyramid of Differences

作成者 askr_58

難易度(作成者設定) Lv.5

難易度(投票) Lv.5.0 (2票)

実行時間制限
2 秒
メモリ制限
512 MiB

(writerが過去にXで公開した問題です。)

問題文

長さ NN の整数列 A=(A1,A2,⋯ ,AN)A=(A_1,A_2,\cdots,A_N) が与えられます。 あなたはこの整数列に対して、以下の操作を N−1N-1 回行います。

  • 現在の AA の長さを kk とする。長さ k−1k-1 の整数列 X=(X1,X2,⋯ ,Xk−1)X=(X_1,X_2,\cdots,X_{k-1}) であって、各 1≤i≤k−11\le i\le k-1 に対して ∣Xi∣=∣Ai+1−Ai∣|X_i|=|A_{i+1}-A_i| を満たすようなものを一つ定める。そして、AA を XX で置き換える。

N−1N-1 回操作を行った後 AA の長さは 11 になりますが、このときの A1A_1 が取りうる最大値を 998244353998244353 で割ったあまりを求めて下さい。

制約

  • 2≤N≤2×1052\le N\le 2\times 10^5
  • −109≤Ai≤109 (1≤i≤N)-10^9\le A_i\le 10^9\ (1\le i\le N)
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN A1 A2 ⋯ ANA_1\ A_2\ \cdots\ A_N

サンプル 1

入力

3
3 1 4

出力

5

例えば、操作によって AA を (3,1,4)→(−2,3)→(5)(3,1,4)\rightarrow (-2,3)\rightarrow (5) と変化させることができます。

サンプル 2

入力

8
16 -5 -16 3 -3 0 -7 3

出力

589