← Home
For problem statement at 1000-1999/1200-1299/1230-1239/1237/problemA.txt this is a correct solution, but verifier at 1000-1999/1200-1299/1230-1239/1237/verifierA.go ends with case 1 failed: expected 481
-453
-2
276
83
190
198
417
-1190 got 481
-453
-1
276
83
190
197
417
-1190
input:
9
961 -906 -3 553 166 380 395 834 -2380
exit status 1 can you fix the verifier? package main

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

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

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

	ans := make([]int, n)
	pos := make([]int, 0)
	neg := make([]int, 0)
	sum := 0

	for i := 0; i < n; i++ {
		var x int
		fmt.Fscan(in, &x)
		ans[i] = x / 2
		sum += ans[i]
		if x%2 != 0 {
			if x > 0 {
				pos = append(pos, i)
			} else {
				neg = append(neg, i)
			}
		}
	}

	if sum < 0 {
		delta := -sum
		for i := 0; i < delta && i < len(pos); i++ {
			ans[pos[i]]++
		}
	} else if sum > 0 {
		delta := sum
		for i := 0; i < delta && i < len(neg); i++ {
			ans[neg[i]]--
		}
	}

	for i := 0; i < n; i++ {
		fmt.Fprintln(out, ans[i])
	}
}