結果
問題 |
No.2930 Larger Mex
|
ユーザー |
![]() |
提出日時 | 2025-03-19 02:33:41 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 401 ms / 2,000 ms |
コード長 | 684 bytes |
コンパイル時間 | 12,140 ms |
コンパイル使用メモリ | 238,248 KB |
実行使用メモリ | 9,976 KB |
最終ジャッジ日時 | 2025-03-19 02:34:14 |
合計ジャッジ時間 | 30,885 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 50 |
ソースコード
package main import . "fmt" import . "os" import bf "bufio" func main() { rd := bf.NewReader(Stdin) var n,m int Fscan(rd,&n,&m) a := make([]int, n) for i := range a { Fscan(rd,&a[i]) } s := make([]int, n+2) f := make([]int, 2e5+1) cnt, l, r := 0, 0, 0 f[a[0]]++ if a[0] < m { cnt++ } for l<n { if (cnt < m && r+1<=n) || (l > r) { r++ if r < n { f[a[r]]++ if a[r]<m&&f[a[r]]==1 { cnt++ } } } else if l <= r { // Println("l=",l,", r=",r,", r-l+1=",r-l+1,",a[l:r]=",a[l:r]) s[1]++ s[r-l+1]-- f[a[l]]-- if a[l]<m&&f[a[l]]==0 { cnt-- } l++ } } x := 0 for i,v := range s[1:][:n] { x += v Println(n-i-x) } }