#z1078. 三等分
三等分
题目描述
你要找到把数组 a 分成三份的方法,使得每一份之内所有数的和相等。
简单地说,你需要找到一个数对 (i, j),使得三段的和都相等:
第一段:a[1] + a[2] + ... + a[i-1]
第二段:a[i] + a[i+1] + ... + a[j]
第三段:a[j+1] + a[j+2] + ... + a[n]
输入格式
第一行是一个整数 n,表示数列中有多少个数。
接下来一行有 n 个数,分别表示 a[1], a[2], a[3], ..., a[n]。
输出格式
一行两个整数,表示满足条件的 i 和 j,用空格隔开。如果找不到,输出 -1。
输入输出样例
输入样例 #1
6
3 2 3 1 1 5
输出样例 #1
3 5
样例说明 #1
输出 3、5,即表示:a[1] + a[2] = a[3] + a[4] + a[5] = a[6]。
即:3 + 2 = 3 + 1 + 1 = 5。
说明/提示
数据范围
对于 100% 的数据,1 ≤ n ,a[i] ≤ 100000。