CF1915E Romantic Glasses

题目描述

Iulia 有 $n$ 个杯子排成一行,第 $i$ 个杯子中有 $a_i$ 单位的果汁。Iulia 只喝编号为奇数的杯子中的果汁,而她的约会对象只喝编号为偶数的杯子中的果汁。 为了给她的约会对象留下好印象,Iulia 想找到一个连续的子区间,使得只考虑这个子区间时,Iulia 和她的约会对象喝到的果汁总量相等。请你帮她找出是否存在这样的子区间。 更正式地说,是否存在两个下标 $l$、$r$,满足 $1 \leq l \leq r \leq n$,并且如果 $l$ 和 $r$ 奇偶性相同,则有 $a_l + a_{l+2} + a_{l+4} + \dots + a_r = a_{l+1} + a_{l+3} + \dots + a_{r-1}$;如果 $l$ 和 $r$ 奇偶性不同,则有 $a_l + a_{l+2} + a_{l+4} + \dots + a_{r-1} = a_{l+1} + a_{l+3} + \dots + a_r$。

输入格式

第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \times 10^5$),表示杯子的总数。 每个测试用例的第二行包含 $n$ 个整数 $a_1, \ldots, a_n$($1 \leq a_i \leq 10^9$),表示每个杯子中的果汁量。 所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。

输出格式

对于每个测试用例,如果存在满足条件的子区间,输出 "YES";否则输出 "NO"。 输出答案时不区分大小写(例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定答案)。

说明/提示

在第一个测试用例中,Iulia 可以选择 $l=1$,$r=3$。此时她喝到 $a_1+a_3=1+2=3$ 单位果汁,她的约会对象喝到 $a_2=3$ 单位果汁。 在第二个测试用例中,Iulia 可以选择 $l=2$,$r=5$。此时她喝到 $a_3+a_5=1+1=2$ 单位果汁,她的约会对象喝到 $a_2+a_4=1+1=2$ 单位果汁。 在第三个测试用例中,没有任何连续子区间满足条件。 在第四个测试用例中,Iulia 可以选择 $l=2$,$r=8$。此时她喝到 $a_3+a_5+a_7=11+1+1=13$ 单位果汁,她的约会对象喝到 $a_2+a_4+a_6+a_8=2+4+5+2=13$ 单位果汁。 由 ChatGPT 4.1 翻译