結果
問題 |
No.3290 Encrypt Failed, but Decrypt Succeeded
|
ユーザー |
![]() |
提出日時 | 2025-10-03 22:08:30 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,521 bytes |
コンパイル時間 | 315 ms |
コンパイル使用メモリ | 82,368 KB |
実行使用メモリ | 119,676 KB |
最終ジャッジ日時 | 2025-10-03 22:08:37 |
合計ジャッジ時間 | 4,612 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 WA * 19 |
ソースコード
N,K=map(int,input().split()) S=input() v=[1]*(N+1) for i in range(2,N+1): v[i]=v[i-1]+v[i-2] if v[i]>10**19: v[i]=10**19 h=[0]*(N+2) h[N]=1 s=1 x=1 for i in range(N-1,-1,-1): if S[i]=='1': h[i]=h[i+1]+h[i+2] if h[i]>10**19: h[i]=10**19 elif S[i]=='2': if i<N-1 and S[i+1]=='0': h[i]=h[i+2] elif i<N-1 and int(S[i+1])<=6: h[i]=h[i+1]+h[i+2] if h[i]>10**19: h[i]=10**19 else: h[i]=h[i+1] else: h[i]=h[i+1] result=[] now=0 rest=K-1 while True: if now==N-1: c=int(S[now])-1 result.append(chr(ord('a')+c)) now+=1 else: if S[now]=='1': if h[now+1]<=rest: rest-=h[now+1] c=int(S[now])*10+int(S[now+1])-1 result.append(chr(ord('a')+c)) now+=2 else: c=int(S[now])-1 result.append(chr(ord('a')+c)) now+=1 elif S[now]=='2': if i<N-1 and S[now+1]=='0': c=int(S[now])*10+int(S[now+1])-1 result.append(chr(ord('a')+c)) now+=2 elif i<N-1 and int(S[now+1])<=6: if h[now+1]<=rest: rest-=h[now+1] c=int(S[now])*10+int(S[now+1])-1 result.append(chr(ord('a')+c)) now+=2 else: c=int(S[now])-1 result.append(chr(ord('a')+c)) now+=1 else: c=int(S[now])-1 result.append(chr(ord('a')+c)) now+=1 else: c=int(S[now])-1 result.append(chr(ord('a')+c)) now+=1 if now>=N: break print(*result,sep='')