#HJ1018. fair

fair

平衡划分(fair,1s/256M)

题面描述

体育课一共有 NN 名同学,且同学们排成一队,每个同学都有一个体力值 AiA_i

所以同学们可以被看做一个含有 NN 个正整数的序列 A1,A2,,ANA_1,A_2,\ldots,A_N

现在老师要带大家做游戏了,游戏需要分别把同学们分为三组,为了游戏的公平性,需要每组同学的体力值之和都完全一致,并且每组组内的同学的位置要为连续的一段。

换句话说,你需要选择两个整数 L,RL,R ,使得 A1A_1AL1A_L-1 的和等于 ALA_LARA_R 的和 等于 AR+1A_R+1ANA_N 的和 , (2LRN1)(2\le L \le R \le N-1)

请问老师能否完成一个公平的分组?

!请使用文件输入输出!本题从fair.in中读取输入,将答案输出到fair.out中!直接从标准输入输出中读取/输出数据没有成绩!

输入格式

第一行一个正整数 TT,表示数据组数。

对于每一组数据,第一行输入一个正整数 NN,表示序列长度。

第二行输入 NN 个正整数 A1,A2,,ANA_1, A_2, \ldots, A_N,含义见题面。

输出格式

可以则输出YES ,否则输出NO

输入输出样例

input1

2
5
8 3 5 2 6
5
1 2 3 2 1

output1

YES
YES

input2

1
3
5 6 7

output2

NO

说明 / 提示

样例说明

测试样例一中:

  • 第一组数据,你可以选择将 L=2L=2R=3R=3 位置
  • 第二组数据,你可以选择将 L=3L=3R=3R=3 位置

数据范围

  • 对于 50%50\% 的数据,1T101\le T \le 103N103,1AiN3\le N \le 10^3, 1\le A_i \le N
  • 对于 100%100\% 的数据,1T101\le T \le 103N2×105,1Ai1093\le N \le 2\times 10^5, 1\le A_i \le 10^9