結果
問題 | No.2930 Larger Mex |
ユーザー |
![]() |
提出日時 | 2024-10-12 15:55:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 174 ms / 2,000 ms |
コード長 | 629 bytes |
コンパイル時間 | 392 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 142,720 KB |
最終ジャッジ日時 | 2024-10-12 15:55:41 |
合計ジャッジ時間 | 9,744 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
N,M=map(int,input().split()) A=list(map(int,input().split())) C=[0]*M S=set(range(M)) if M==0: for i in range(N): print(N-i) exit() L=[10**9]*N j=0 for i in range(N): while j<N and len(S)>0: if A[j]<M: C[A[j]]+=1 if C[A[j]]==1: S.remove(A[j]) j+=1 if len(S)>0: break L[i]=j if A[i]<M: C[A[i]]-=1 if C[A[i]]==0: S.add(A[i]) B=[0]*(N+2) for i in range(N): j=L[i] if j>=10**8: continue B[j-i]+=1 B[N+1-i]-=1 for i in range(N): B[i+1]+=B[i] for i in range(N): print(B[i+1])