結果
問題 |
No.3290 Encrypt Failed, but Decrypt Succeeded
|
ユーザー |
![]() |
提出日時 | 2025-10-03 22:05:57 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,423 bytes |
コンパイル時間 | 370 ms |
コンパイル使用メモリ | 82,112 KB |
実行使用メモリ | 122,208 KB |
最終ジャッジ日時 | 2025-10-03 22:06:03 |
合計ジャッジ時間 | 5,170 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 6 WA * 21 |
ソースコード
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[i]=='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[i]=='2': if i<N-1 and S[i+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[i+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 if now>=N: break print(*result,sep='')