← Home
For problem statement at 1000-1999/1100-1199/1140-1149/1144/problemB.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1140-1149/1144/verifierB.go ends with All tests passed. can you fix the verifier?  ```go
package main

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

func main() {
	reader := bufio.NewReader(os.Stdin)
	var n int
	fmt.Fscan(reader, &n)

	evens := make([]int, 0)
	odds := make([]int, 0)
	var total int64 = 0

	for i := 0; i < n; i++ {
		var x int
		fmt.Fscan(reader, &x)
		total += int64(x)
		if x%2 == 0 {
			evens = append(evens, x)
		} else {
			odds = append(odds, x)
		}
	}

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

	maxDeleted := int64(0)

	if len(evens) > 0 {
		var takeE, takeO int
		if len(evens) > len(odds) {
			takeE = len(odds) + 1
			takeO = len(odds)
		} else {
			takeE = len(evens)
			takeO = len(evens)
		}
		var sum int64 = 0
		for i := 0; i < takeE; i++ {
			sum += int64(evens[i])
		}
		for i := 0; i < takeO; i++ {
			sum += int64(odds[i])
		}
		if sum > maxDeleted {
			maxDeleted = sum
		}
	}

	if len(odds) > 0 {
		var takeO, takeE int
		if len(odds) > len(evens) {
			takeO = len(evens) + 1
			takeE = len(evens)
		} else {
			takeO = len(odds)
			takeE = len(odds)
		}
		var sum int64 = 0
		for i := 0; i < takeO; i++ {
			sum += int64(odds[i])
		}
		for i := 0; i < takeE; i++ {
			sum += int64(evens[i])
		}
		if sum > maxDeleted {
			maxDeleted = sum
		}
	}

	fmt.Println(total - maxDeleted)
}
```