結果
問題 | No.2930 Larger Mex |
ユーザー |
![]() |
提出日時 | 2024-10-12 16:55:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 143 ms / 2,000 ms |
コード長 | 507 bytes |
コンパイル時間 | 153 ms |
コンパイル使用メモリ | 82,296 KB |
実行使用メモリ | 115,584 KB |
最終ジャッジ日時 | 2024-10-12 16:56:22 |
合計ジャッジ時間 | 8,416 ms |
ジャッジサーバーID (参考情報) |
judge / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
n,m=map(int,input().split()) a=list(map(int,input().split())) for i in range(n): if a[i]>=m: a[i]=-1 c=[0]*(m+1) g=[0]*(n+2) r=0 c[a[0]]+=1 p=0 p+=c[a[0]]!=0 and a[0]>=0 for l in range(n): r=max(r,l) while r+1<n and p<m: r+=1 p+=c[a[r]]==0 and a[r]>=0 c[a[r]]+=1 if p==m: g[r-l+1]+=1 g[n-l+1]-=1 p-=c[a[l]]==1 and a[l]>=0 c[a[l]]-=1 if r==l and l+1<n: r+=1 p+=c[a[r]]==0 and a[r]>=0 c[a[r]]+=1 for i in range(1,n+1): g[i]+=g[i-1] print(*g[1:n+1],sep="\n")