← Home
For problem statement at 1000-1999/1800-1899/1810-1819/1814/problemC.txt this is a correct solution, but verifier at 1000-1999/1800-1899/1810-1819/1814/verifierC.go ends with case 1 mismatch
expected:2 1 3101 2
3 2 6 1103 4 3 5
got:2 1 3
1 2
3 2 6 1
3 4 3 5
input:
2
3 1 2
19 2 17
6 2 2
11 20 13 15 3 15
exit status 1 can you fix the verifier? ```go
package main

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

type pair struct {
	r   int
	idx int
}

func main() {
	in := bufio.NewReader(os.Stdin)
	var t int
	fmt.Fscan(in, &t)
	for _ = range make([]int, t) {
		var n, s1, s2 int
		fmt.Fscan(in, &n, &s1, &s2)
		r := make([]pair, n)
		for i := 0; i < n; i++ {
			var val int
			fmt.Fscan(in, &val)
			r[i] = pair{val, i + 1}
		}
		sort.Slice(r, func(i, j int) bool {
			if r[i].r != r[j].r {
				return r[i].r > r[j].r
			}
			return r[i].idx < r[j].idx
		})
		var vecA, vecB []int
		for _, p := range r {
			ca := int64(len(vecA)+1) * int64(s1)
			cb := int64(len(vecB)+1) * int64(s2)
			if ca <= cb {
				vecA = append(vecA, p.idx)
			} else {
				vecB = append(vecB, p.idx)
			}
		}
		fmt.Print(len(vecA))
		for _, x := range vecA {
			fmt.Print(" ", x)
		}
		fmt.Println()
		fmt.Print(len(vecB))
		for _, x := range vecB {
			fmt.Print(" ", x)
		}
		fmt.Println()
	}
}
```