結果
問題 |
No.241 出席番号(1)
|
ユーザー |
![]() |
提出日時 | 2025-05-01 13:44:04 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 733 bytes |
コンパイル時間 | 424 ms |
コンパイル使用メモリ | 82,632 KB |
実行使用メモリ | 54,608 KB |
最終ジャッジ日時 | 2025-05-01 13:44:08 |
合計ジャッジ時間 | 4,260 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 WA * 8 |
ソースコード
N = int(input()) A = [int(input()) for _ in range(N)] B = [[] for _ in range(N)] rem = [] tmp = N for i in range(N): if A[i] < N: B[A[i]].append(i) tmp = A[i] if tmp == N: for i in range(N): print(i) exit() if len(B[tmp]) == N: print(-1) exit() nu = [] C = [] for i in range(N): if B[i] == []: nu.append(i) else: C.append((len(B[i]),i)) C.sort() NC = len(C) ans = [-1] * N if NC > 1: nu.append(C[-1][1]) for _,c in C: for b in B[c]: ans[b] = nu.pop() nu.append(c) elif NC == 1: c = C[0][1] ans[c] =nu.pop() nu.append(c) for i in range(N): if ans[i] == -1: ans[i] = nu.pop() for a in ans: print(a)