問題一覧 > 通常問題

No.3290 Encrypt Failed, but Decrypt Succeeded

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 54
作問者 : kona0001 / テスター : tobisatis RyosukeFukatani koba-e964 ir5 drken1215
ProblemId : 12640 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-09-24 01:40:31

問題文

yuki君は恥ずかしがり屋です。書いた文章を誰にも見られたくないyuki君は、次の暗号を思いつきました。

  • $26$ 種類の英小文字それぞれに対し、a1 に、b2 に、...、z26 に置き換える。

この手順によりyuki君は英小文字からなる文字列 $s$ を暗号化し、長さ $N$ の文字列 $t$ を得ましたが、うっかり数字と数字の間を区切り忘れてしまい、複合した際の文字列がただ一つに定まらなくなってしまいました。 そこで、複合文字列を一意に定めるために辞書順を利用することにしました。

暗号化することで $t$ を得られる文字列 $s^{\prime}$ として考えられるもののうち、辞書順で $K$ 番目のものを求めてください。

制約

  • $1 \le N \le 3 \times 10^5$
  • $1 \le K \le 10^{18}$
  • $N$ と $K$ は整数
  • $t$ は 0 から 9 の数字からなる長さ $N$ の文字列
  • 暗号化することで $t$ を得られる文字列は $K$ 種類以上存在する

入力

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

$N\ K$
$t$

出力

暗号化することで $t$ を得られる文字列 $s^{\prime}$ として考えられるもののうち、辞書順で $K$ 番目の文字列を出力してください。最後に改行してください。

サンプル

サンプル1
入力
5 4
11234
出力
kbcd

暗号化することで 11234 という文字列が得られる $s^{\prime}$ として考えられるものは次の通りです。

  • aabcd
  • aawd
  • alcd
  • kbcd
  • kwd

これらの中から、辞書順で $4$ 番目である文字列は kbcd であるため、これが正解です。

サンプル2
入力
8 1
11111111
出力
aaaaaaaa
サンプル3
入力
50 225580
19211651831129618179129192093524169112941539152119
出力
supercalifragilisticexpialidocious

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