| 12345678910111213141516171819202122232425262728293031323334353637383940 | package mainimport "fmt"func main() {	var n, m int	fmt.Scan(&n, &m)	shoot := make([]int, n)	for i := range shoot {		fmt.Scan(&shoot[i])	}	min, cnt := -1, 0	ma := make([]int, m+1)	l, r := 0, 0	for ; r < n; r++ {		if cnt == m {			for ; l <= r && cnt == m; l++ {				if min == -1 || r-l < min {					min = r - l				}				if c := shoot[l]; c != 0 {					ma[c]--					if ma[c] == 0 {						cnt--					}				}			}		}		if c := shoot[r]; c != 0 {			if ma[c] == 0 {				cnt++			}			ma[c]++		}	}	if cnt == m && r-l < min {		min = r - l	}	fmt.Println(min)}
 |