結果
| 問題 |
No.3290 Encrypt Failed, but Decrypt Succeeded
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-10-03 23:07:52 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 100 ms / 2,000 ms |
| コード長 | 428 bytes |
| コンパイル時間 | 528 ms |
| コンパイル使用メモリ | 82,180 KB |
| 実行使用メモリ | 99,996 KB |
| 最終ジャッジ日時 | 2025-10-03 23:07:56 |
| 合計ジャッジ時間 | 3,616 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
n,k=map(int,input().split())
t=input()
M=k+10
d=[0]*(1+n)
d[n]=1
for i in range(n)[::-1]:
if t[i]=='0':
continue
if i+1>=n or t[i+1]!='0':
d[i]+=d[i+1]
if 10<=int(t[i:i+2])<=26:
d[i]+=d[i+2]
if d[i]>M:
d[i]=M
i=0
ans=[]
while i<n:
# print(k,i,d[i+1])
if k<=d[i+1]:
ans+=chr(int(t[i])+ord('a')-1),
i+=1
else:
ans+=chr(int(t[i:i+2])+ord('a')-1),
k-=d[i+1]
i+=2
print(''.join(ans))