← Home
For problem statement at 0-999/200-299/230-239/234/problemE.txt this is a correct solution, but verifier at 0-999/200-299/230-239/234/verifierE.go ends with case 1 failed: wrong group letter
exit status 1 can you fix the verifier? package main

import (
	"fmt"
	"sort"
)

type Team struct {
	name   string
	rating int
}

func main() {
	var n int
	if _, err := fmt.Scan(&n); err != nil {
		return
	}
	var x, a, b, c int
	fmt.Scan(&x, &a, &b, &c)

	teams := make([]Team, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&teams[i].name, &teams[i].rating)
	}

	sort.Slice(teams, func(i, j int) bool {
		return teams[i].rating > teams[j].rating
	})

	m := n / 4
	baskets := make([][]Team, 4)
	for i := 0; i < 4; i++ {
		baskets[i] = append([]Team(nil), teams[i*m:(i+1)*m]...)
	}

	for i := 0; i < m; i++ {
		fmt.Printf("Group %c:\n", 'A'+i)
		if i < m-1 {
			for j := 0; j < 4; j++ {
				s := len(baskets[j])
				x = (x*a + b) % c
				idx := x % s
				fmt.Println(baskets[j][idx].name)
				baskets[j] = append(baskets[j][:idx], baskets[j][idx+1:]...)
			}
		} else {
			for j := 0; j < 4; j++ {
				fmt.Println(baskets[j][0].name)
			}
		}
	}
}