結果
問題 | No.2930 Larger Mex |
ユーザー |
![]() |
提出日時 | 2024-10-12 16:05:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 506 ms / 2,000 ms |
コード長 | 698 bytes |
コンパイル時間 | 220 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 217,644 KB |
最終ジャッジ日時 | 2024-10-12 16:05:20 |
合計ジャッジ時間 | 13,589 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
from collections import deque N,M=map(int,input().split()) A=list(map(int,input().split())) if M==0: print(*[N-i for i in range(N)], sep = "\n") exit(0) left = [10**8 for _ in range(M)] dq= [deque() for _ in range(M)] for i in range(N): if A[i]>=M: continue left[A[i]]=min(left[A[i]], i) dq[A[i]].append(i) for i in range(M): dq[i].append(N) ans=max(left) fa=[0 for _ in range(N)] for i in range(N): if ans>=N: continue if N>N-i>=0: fa[N-i]-=1 if N>ans-i>=0: fa[ans-i]+=1 if A[i]>=M: continue p=dq[A[i]].popleft() ans=max(ans,dq[A[i]][0]) for i in range(1,len(fa)): fa[i]+=fa[i-1] print(*fa,sep="\n")