結果
問題 | No.1630 Sorting Integers (Greater than K) |
ユーザー |
![]() |
提出日時 | 2023-05-01 12:05:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 181 ms / 2,000 ms |
コード長 | 824 bytes |
コンパイル時間 | 389 ms |
コンパイル使用メモリ | 81,900 KB |
実行使用メモリ | 152,616 KB |
最終ジャッジ日時 | 2024-11-20 11:43:29 |
合計ジャッジ時間 | 4,488 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 22 |
ソースコード
N, K = input().split() N = int(N) cnt = [0] + list(map(int, input().split())) K = list(map(int, K)) ans = [] if N > len(K): for i in range(1, 10): ans.extend([i] * cnt[i]) print(*ans, sep="") exit() elif N < len(K): print(-1) exit() for i in range(N): if cnt[K[i]]: ans.append(K[i]) cnt[K[i]] -= 1 else: break for i in range(len(ans), -1, -1): if i == N: cnt[ans.pop()] += 1 else: for j in range(K[i] + 1, 10): if cnt[j]: ans.append(j) cnt[j] -= 1 for k in range(1, 10): ans.extend([k] * cnt[k]) print(*ans, sep="") exit() if ans: cnt[ans.pop()] += 1 else: print(-1) exit()