For problem statement at 0-999/400-499/450-459/455/problemA.txt this is a correct solution, but verifier at 0-999/400-499/450-459/455/verifierA.go ends with All 102 tests passed can you fix the verifier? package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
if !scanner.Scan() {
return
}
n, _ := strconv.Atoi(scanner.Text())
counts := make([]int64, 100005)
maxVal := 0
for i := 0; i < n; i++ {
scanner.Scan()
val, _ := strconv.Atoi(scanner.Text())
counts[val]++
if val > maxVal {
maxVal = val
}
}
if maxVal == 0 {
fmt.Println(0)
return
}
dp := make([]int64, maxVal+1)
dp[1] = counts[1]
for i := 2; i <= maxVal; i++ {
take := dp[i-2] + counts[i]*int64(i)
skip := dp[i-1]
if take > skip {
dp[i] = take
} else {
dp[i] = skip
}
}
fmt.Println(dp[maxVal])
}