package main import . "fmt" import . "os" import bf "bufio" import . "sort" func main() { rd:=bf.NewReader(Stdin) wr:=bf.NewWriter(Stdout) defer wr.Flush() var n,d int Fscan(rd,&n,&d) s := make([]int, n) a := make([]int, n) for i := range a { Fscan(rd,&a[i]) s[i] = a[i] } Ints(s) for _, x := range a { c := Search(len(s), func(i int) bool { return s[i] >= x-d+1 }) Fprintln(wr, c) } } /* 考察 二分探索するだけ…? */