結果
問題 |
No.2930 Larger Mex
|
ユーザー |
|
提出日時 | 2025-06-17 17:19:33 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,375 bytes |
コンパイル時間 | 430 ms |
コンパイル使用メモリ | 82,232 KB |
実行使用メモリ | 119,332 KB |
最終ジャッジ日時 | 2025-06-17 17:19:46 |
合計ジャッジ時間 | 12,125 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 48 WA * 2 |
ソースコード
N,M = map(int,input().split()) A = list(map(int,input().split())) ans = [0]*(N+2) if M==0: for l in range(N): if A[l]>0: ans[1] += 1 ans[N-l+1] -= 1 else: C = {} l = 0 r = N+1 for i in range(N): if 0<=A[i]<M: if A[i] not in C: C[A[i]] = 0 C[A[i]] += 1 if len(C)==M: r = i break if r<=N: ans[r-l+1] += 1 ans[N-l+1] -= 1 for l in range(1,N): if A[l-1] not in C: ans[r-l+1] += 1 ans[N-l+1] -= 1 else: C[A[l-1]] -= 1 if C[A[l-1]]>0: ans[r-l+1] += 1 ans[N-l+1] -= 1 else: a = A[l-1] j = r+1 while j<N: if A[j]==a: C[a] += 1 r = j break if 0<=A[j]<M: C[A[j]] += 1 j += 1 if j<N: ans[r-l+1] += 1 ans[N-l+1] -= 1 else: break for i in range(1,N+1): ans[i] += ans[i-1] for i in range(1,N+1): print(ans[i])