← Home
For problem statement at 1000-1999/1200-1299/1240-1249/1249/problemD1.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1240-1249/1249/verifierD1.go ends with case 1 failed
input:
10 1
52 159
186 194
135 163
107 153
116 137
138 186
135 162
78 192
27 41
174 195
expected:
7
4 1 7 3 8 2 10
got:
7
8 1 4 3 7 10 2

exit status 1 can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var n, k int
	if _, err := fmt.Fscan(in, &n, &k); err != nil {
		return
	}

	l := make([]int, n+1)
	r := make([]int, n+1)
	for i := 1; i <= n; i++ {
		fmt.Fscan(in, &l[i], &r[i])
	}

	removed := make([]bool, n+1)
	var ans []int

	for x := 1; x <= 200; x++ {
		var list []int
		for i := 1; i <= n; i++ {
			if !removed[i] && l[i] <= x && x <= r[i] {
				list = append(list, i)
			}
		}
		if len(list) > k {
			sort.Slice(list, func(a, b int) bool {
				return r[list[a]] > r[list[b]]
			})
			t := len(list) - k
			for j := 0; j < t; j++ {
				removed[list[j]] = true
				ans = append(ans, list[j])
			}
		}
	}

	fmt.Fprintln(out, len(ans))
	if len(ans) > 0 {
		for i, v := range ans {
			if i > 0 {
				fmt.Fprint(out, " ")
			}
			fmt.Fprint(out, v)
		}
		fmt.Fprintln(out)
	} else {
		fmt.Fprintln(out)
	}
}
```