← Home
For problem statement at 1000-1999/1100-1199/1180-1189/1183/problemF.txt this is a correct solution, but verifier at 1000-1999/1100-1199/1180-1189/1183/verifierF.go ends with oracle runtime error on case 1: exec: "oracleF": executable file not found in $PATH
exit status 1 can you fix the verifier? package main

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

func readInt(r *bufio.Reader) int {
	n := 0
	b, err := r.ReadByte()
	if err != nil {
		return 0
	}
	for b < '0' || b > '9' {
		b, err = r.ReadByte()
		if err != nil {
			return 0
		}
	}
	for b >= '0' && b <= '9' {
		n = n*10 + int(b-'0')
		b, err = r.ReadByte()
		if err != nil {
			break
		}
	}
	return n
}

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

	q := readInt(reader)
	for t := 0; t < q; t++ {
		n := readInt(reader)

		a := make([]int, n)
		for i := 0; i < n; i++ {
			a[i] = readInt(reader)
		}

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

		var A []int
		for i := 0; i < n; i++ {
			if i == 0 || a[i] != a[i-1] {
				A = append(A, a[i])
			}
		}

		maxSum := 0
		m := len(A)

		for i := 0; i < m; i++ {
			x := A[i]
			valY := 0
			valZ := 0
			if i+1 < m {
				valY = A[i+1]
			}
			if i+2 < m {
				valZ = A[i+2]
			}
			if maxSum >= x+valY+valZ {
				break
			}
			if x > maxSum {
				maxSum = x
			}
			for j := i + 1; j < m; j++ {
				y := A[j]
				valZ2 := 0
				if j+1 < m {
					valZ2 = A[j+1]
				}
				if maxSum >= x+y+valZ2 {
					break
				}
				if x%y == 0 {
					continue
				}
				if x+y > maxSum {
					maxSum = x + y
				}
				for k := j + 1; k < m; k++ {
					z := A[k]
					if x%z == 0 || y%z == 0 {
						continue
					}
					if x+y+z > maxSum {
						maxSum = x + y + z
					}
					break 
				}
			}
		}
		fmt.Fprintln(writer, maxSum)
	}
}