結果

問題 No.241 出席番号(1)
ユーザー ntuda
提出日時 2025-05-01 13:30:05
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 483 bytes
コンパイル時間 1,050 ms
コンパイル使用メモリ 82,392 KB
実行使用メモリ 67,336 KB
最終ジャッジ日時 2025-05-01 13:30:12
合計ジャッジ時間 5,881 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 15 WA * 4 RE * 10
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = [int(input()) for _ in range(N)]
B = [[] for _ in range(N)]
rem = []
cnt = 0
for i in range(N):
    if A[i] < N:
        B[A[i]].append(i)
if len(B[A[0]]) == 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)
nu.append(C[-1][1])
ans = [-1] * N
for _,c in C:
    for b in B[c]:
        ans[b] = nu.pop()
    nu.append(c)
for a in ans:
    print(a)
0