#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。