問題一覧 > 通常問題

No.2734 Addition and Multiplication in yukicoder (Hard)

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 76
作問者 : 👑 AngrySadEight / テスター : kusirakusira FplusFplusF hiro1729 🦠みどりむし
0 ProblemId : 10762 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-04-14 20:12:28

この問題は、問題 B「Addition and Multiplication in yukicoder (Easy)」と似た設定です。問題文の相違点を赤字で示します。

問題文

NN 個の整数 A1,A2,,ANA_1, A_2, \dots, A_N があります。また、変数 xx があり、最初 x=0x = 0 です。

あなたは、次に示す操作を 11 回行います。

  • まず、(1,2,,N)(1, 2, \dots, N) の順列 (P1,P2,,PN)(P_1, P_2, \dots, P_N) をひとつ選ぶ。
  • 次に、i=1,2,,Ni = 1, 2, \dots, N の順に、xx10d(APi)×x+APi10^{d(A_{P_i})} \times x + A_{P_i} で置き換える。ただし、d(y)d(y)yy1010 進表記における桁数を表す。

このとき、最終的な xx の値として考えられる最小値を 998244353998244353 で割った余りを求めてください。なお、xx の値を 998244353998244353 で割った余りの最小値を求めるのではないことに注意してください。

制約

  • 入力はすべて整数である。
  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1Ai10181 \leq A_i \leq 10^{18}

入力

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

NN
A1A_1 A2A_2 \dots ANA_N

出力

最終的な xx の値として考えられる最小値を 998244353998244353 で割った余りを出力せよ。

サンプル

サンプル1
入力
3
23 456 1
出力
123456

(P1,P2,P3)=(3,1,2)(P_1, P_2, P_3) = (3, 1, 2) とすればよいです。このとき、操作の過程での xx の値は以下のようになります。

  • 最初、x=0x = 0 である。P1=3P_1 = 3 より、 AP1=A3=1A_{P_1} = A_3 = 1 である。d(1)=1d(1) = 1 より、xx101×0+1=110^1 \times 0 + 1 = 1 に置き換える。
  • P2=1P_2 = 1 より、 AP2=A1=23A_{P_2} = A_1 = 23 である。d(23)=2d(23) = 2 より、xx102×1+23=12310^2 \times 1 + 23 = 123 に置き換える。
  • P3=2P_3 = 2 より、 AP3=A2=456A_{P_3} = A_2 = 456 である。d(456)=3d(456) = 3 より、xx103×123+456=12345610^3 \times 123 + 456 = 123456 に置き換える。

よって、最終的な xx の値は 123456123456 となり、これが実現可能な最小値です。

サンプル2
入力
5
31 41 5 9 2
出力
2314159
サンプル3
入力
9
1 22 333 4444 55555 666666 7777777 88888888 999999999
出力
808067813

998244353998244353 で割った余りを出力してください。

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