結果
問題 | No.2930 Larger Mex |
ユーザー |
![]() |
提出日時 | 2024-10-12 16:03:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 138 ms / 2,000 ms |
コード長 | 581 bytes |
コンパイル時間 | 306 ms |
コンパイル使用メモリ | 82,164 KB |
実行使用メモリ | 114,364 KB |
最終ジャッジ日時 | 2024-10-12 16:03:32 |
合計ジャッジ時間 | 9,325 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
N,M = map(int,input().split()) A = list(map(int,input().split())) ans = [0]*N data = [0]*M cnt = 0 r = 0 for l in range(N): while r < N and cnt < M: if A[r] < M: if data[A[r]] == 0: cnt += 1 data[A[r]] += 1 r += 1 if cnt < M: break ans[max(0,r-l-1)] += 1 if N-l < N: ans[N-l] -= 1 if r == l: r += 1 else: if A[l] < M: data[A[l]] -= 1 if data[A[l]] == 0: cnt -= 1 for i in range(N-1): ans[i+1] += ans[i] print(*ans,sep='\n')