東京農工大学MCCプログラミングコンテスト2023Winter
コンテスト日時
2024/03/25 (Mo) 20:00 - 22:00

C - FJC Tokoko

Assam
2
s
1024
MB
100

問題文

とここちゃんは中学 1 年生で文字式について勉強しています。「$1$ は書かなくても良い」と習ったとここちゃんは、間違えて整数の中に含まれる $1$ も書かないことにしてしまいました。例えば $3914821$ は $39482$ と書いてしまうし、$100$ は $00$ と書いてしまいます。

このミスに従って書かれた数字のみからなる長さ $N$ の文字列 $S$ が与えられます。元の整数の桁数が $D \ (\geq N)$ 桁であったとして、考えられる整数のうち最大のものを求めてください。

より厳密には、次の条件をすべて満たす非負整数 $T$ のうち最大のものを求めてください。

  • $T$ を十進表記した文字列の長さが $D$ である。
  • $T$ を十進表記した文字列を $X$ とする。$X$ に含まれる文字 1 をすべて取り除き、残ったものを元の順序を保って並べた文字列が $S$ と等しい。

制約

  • $1 \leq N \leq D \leq 2 \times 10^5$
  • $S$ は 023456789 のみからなる長さ $N$ の文字列
  • 条件をすべて満たす非負整数が $1$ つ以上存在する
  • $N, D$ は整数

入力

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

$N\ \ D$
$S$

出力

答えを出力せよ。

入力例 1
3 4 354
出力例 1
3541

条件を満たす非負整数として $1354, 3154, 3514, 3541$ が考えられます。このうち最大値は $3541$ であるため、$3541$ を出力します。

入力例 2
2 3 00
出力例 2
100

$S$ が 0 のみで構成される場合もあります。

入力例 3
1 1 0
出力例 3
0
提出
C++23 (g++ 12.2.0)