← Home
For problem statement at 1000-1999/1000-1099/1040-1049/1040/problemA.txt this is a correct solution, but verifier at 1000-1999/1000-1099/1040-1049/1040/verifierA.go ends with All 100 tests passed can you fix the verifier? package main

import (
	"fmt"
)

func main() {
	var n, a, b int
	fmt.Scan(&n, &a, &b)

	c := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&c[i])
	}

	cost := 0
	for i := 0; i < n/2; i++ {
		j := n - 1 - i
		if c[i] == c[j] {
			if c[i] == 2 {
				if a < b {
					cost += 2 * a
				} else {
					cost += 2 * b
				}
			}
		} else if c[i] == 2 {
			if c[j] == 0 {
				cost += a
			} else {
				cost += b
			}
		} else if c[j] == 2 {
			if c[i] == 0 {
				cost += a
			} else {
				cost += b
			}
		} else {
			fmt.Println("-1")
			return
		}
	}

	if n%2 != 0 {
		if c[n/2] == 2 {
			if a < b {
				cost += a
			} else {
				cost += b
			}
		}
	}

	fmt.Println(cost)
}