No.3363 Two Closest Numbers
タグ : / 解いたユーザー数 27
作問者 :
rurun
/ テスター :
noya2
問題文
$\,N\,$個の数字$\,c_1, c_2 \ldots , c_N\,$が与えられます。$\,c_i \, (i=1, 2, \ldots , N)\,$は 1 から 9 までの数字のいずれかです。
これらの数字を$\,2\,$つに分け、それぞれ任意の順に結合することで、$\,2\,$つの十進数$\,X, Y\,$を作ります。
より厳密には、次のようになります。
数字$\,c_i \, (i=1, 2, \ldots , N)\,$に対応する数を$\,c_i'\,$とします。長さ$\,N\,$の順列$\,P=(p_1, p_2, \ldots , p_N)\,$と整数$\,k\,(1 \leq k \leq N-1)\,$を定めたとき、$\,X, Y\,$を$\,X = \displaystyle{\sum_{i=1}^{k} c_{p_i}' 10^{k-i} } , Y = \displaystyle{\sum_{i=k+1}^{N} c_{p_i}' 10^{N-i} }\,$とします。
$\,|X-Y|\,$の最小値を求めてください。
ただし、答えは非常に大きくなることがあるので、答えを$\,998244353\,$で割った余りを出力してください。
制約
- $\,N\,$は整数
- $\,2 \leq N \leq 2 \times 10^5\,$
- $\,c_i\,$は
123456789のいずれかである
入力
入力は以下の形式で標準入力から与えられる。
$N$ $c_1$ $c_2$ $\cdots$ $c_N$
出力
答えを$\,998244353\,$で割った余りを出力せよ。
サンプル
サンプル1
入力
3 4 1 8
出力
6
作ることができる数字の組$\,(X, Y) \,$は全部で12個あります。このうち、$\,(X, Y)=(8, 14),(14, 8)\,$のとき$\,|X-Y| = 6\,$となり、これが最小です。
サンプル2
入力
4 6 2 8 7
出力
4
例えば、$\,(X, Y) = (68, 72)$とすると$\,|X-Y| = 4\,$となり、これが最小です。
サンプル3
入力
6 3 1 4 1 5 9
出力
4
例えば、$\,(X, Y) = (149, 153)\,$とすると$\,|X-Y| = 4\,$となり、これが最小です。
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。