← Home
For problem statement at 0-999/800-899/800-809/802/problemE.txt this is a correct solution, but verifier at 0-999/800-899/800-809/802/verifierE.go ends with test 1 failed
input:1
4 2 2 3 3 4 3 4 3 0 0 1 1 1 2 0 2 0 4 1 3 0 1 3 4 1 3 1 3 1 4 3 2 2 4 0 0 1 3 3 1 2 3 0 1 1 4 2 1 4 0 1 3 0 2 4 4 2 2 3 1 2 1 0 2 4 0 3 1 0 3 0 3 4 0 3 4 4 2 2 1 4 0 3 0 0 3 0 4 2 4 4 4 2 1 2 0 2 4 1 2 1 3 0 3 4 3 0 4 4 3 1 0 4 2 1 4 3 2 3 2 4 1 2 1 1 1 3 0 2 4 1 4 1 1 3 0 2 4 3 1 1 4 2 4 0 0 2 1 1 0 3 4 3 0 4 4 4 1 4 4 0 3 1 4 0 4 4 3 2 0 1 1 1 1 2 3 1 2 4 3 4 1 0 4 4 2 0 3 0 2 0 4 0 1 3 1 2 3 0 2 0 3 4 4 3 1 1 3 1 0 4 3 3 4 1 1 3 1 1 4 1 2 0 0 0 4 2 0 3 4 2 0 1 4 2 0 1 2 4 4 4 4 2 1 4 1 4 2 2
expected: 2 got: 0

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

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Scan()
	n, _ := strconv.Atoi(scanner.Text())

	for i := 0; i < n; i++ {
		scanner.Scan()
		m, _ := strconv.Atoi(scanner.Text())
		scanner.Scan()
		parts := strings.Fields(scanner.Text())

		sum := 0.0
		maxVal := 0.0
		vals := make([]float64, m)
		for j, p := range parts {
			v, _ := strconv.ParseFloat(p, 64)
			vals[j] = v
			sum += v
			if v > maxVal {
				maxVal = v
			}
		}
		mean := sum / float64(m)

		variance := 0.0
		for _, v := range vals {
			diff := v - mean
			variance += diff * diff
		}
		variance /= float64(m)

		var estimate float64
		if variance > 1.5*mean {
			estimate = maxVal * float64(m+1) / float64(m)
		} else {
			estimate = mean
		}

		fmt.Println(int(estimate + 0.5))
	}
}
```