← Home
package main

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

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

	var t int
	if _, err := fmt.Fscan(reader, &t); err != nil {
		return
	}

	for i := 0; i < t; i++ {
		var n int
		fmt.Fscan(reader, &n)

		p := make([]int64, n+1)
		var sum int64 = 0
		p[0] = 0
		for j := 1; j <= n; j++ {
			var a int64
			fmt.Fscan(reader, &a)
			sum += a
			p[j] = sum
		}

		sufMin := make([]int64, n+1)
		sufMin[n] = p[n]
		for j := n - 1; j >= 0; j-- {
			if p[j] < sufMin[j+1] {
				sufMin[j] = p[j]
			} else {
				sufMin[j] = sufMin[j+1]
			}
		}

		var maxDiff int64 = -1
		var bestK int64 = 0

		for j := 0; j <= n; j++ {
			diff := p[j] - sufMin[j]
			if diff > maxDiff {
				maxDiff = diff
				bestK = p[j]
			}
		}

		fmt.Fprintln(writer, bestK)
	}
}