結果
問題 | No.1630 Sorting Integers (Greater than K) |
ユーザー |
![]() |
提出日時 | 2021-07-30 21:54:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 169 ms / 2,000 ms |
コード長 | 985 bytes |
コンパイル時間 | 255 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 104,224 KB |
最終ジャッジ日時 | 2024-09-16 00:00:20 |
合計ジャッジ時間 | 3,433 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 22 |
ソースコード
N,K=input().split()N=int(N)if len(K)>N:print(-1)exit()K=''.join(['0'*(N-len(K)),K])X=[int(K[i]) for i in range(N)]X[-1]+=1for i in range(N-1,-1,-1):if X[i]==10:X[i]=0if i==0:print(-1)exit()X[i-1]+=1C=[0]+list(map(int,input().split()))ANS=[0]*Nfor i in range(N):if C[X[i]]==0:for j in range(X[i]+1,10):if C[j]:ANS[i]=jC[j]-=1i+=1for k in range(10):for l in range(C[k]):ANS[i]=ki+=1print(*ANS,sep='')exit()i-=1while 1:if i==-1:print(-1)exit()C[ANS[i]]+=1ANS[i]=0for j in range(X[i]+1,10):if C[j]:ANS[i]=jC[j]-=1i+=1for k in range(10):for l in range(C[k]):ANS[i]=ki+=1print(*ANS,sep='')exit()i-=1else:ANS[i]=X[i]C[X[i]]-=1print(*ANS,sep='')