結果

問題 No.2930 Larger Mex
ユーザー ID 21712
提出日時 2025-03-19 02:31:48
言語 Go
(1.23.4)
結果
RE  
実行時間 -
コード長 680 bytes
コンパイル時間 11,894 ms
コンパイル使用メモリ 240,324 KB
実行使用メモリ 9,980 KB
最終ジャッジ日時 2025-03-19 02:32:17
合計ジャッジ時間 27,375 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 26 RE * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

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+1)
	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:] {
		x += v
		Println(n-i-x)
	}
}
0