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

import (
	"fmt"
)

func main() {
	var n int
	if _, err := fmt.Scan(&n); err != nil {
		return
	}
	a := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&a[i])
	}

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

	sums := make(map[int]bool)
	for r := 1; r <= n; r++ {
		for l := 1; l <= r; l++ {
			sums[pref[r]-pref[l-1]] = true
		}
	}

	maxK := 0
	var bestIntervals [][2]int

	for s := range sums {
		var intervals [][2]int
		lastEnd := 0
		for r := 1; r <= n; r++ {
			for l := lastEnd + 1; l <= r; l++ {
				if pref[r]-pref[l-1] == s {
					intervals = append(intervals, [2]int{l, r})
					lastEnd = r
					break
				}
			}
		}
		if len(intervals) > maxK {
			maxK = len(intervals)
			bestIntervals = intervals
		}
	}

	fmt.Println(maxK)
	for _, iv := range bestIntervals {
		fmt.Println(iv[0], iv[1])
	}
}