返回首页 返回题库

平衡序列

C++ 简单 GESP三级真题 #数组#前缀和

题目描述

题面描述

小杨有一个包含n个正整数的序列a,他认为一个序列是平衡的当且仅当存在一个正整数i(1 <= i <= n-1)使得序列第1个到第 i 个数字的总和等于第i+1个到第n个数字的总和。

小杨想请你判断序列a是否是平衡的。

输入格式

第一行包含一个正整数 t,代表测试用例组数。

接下来是t组测试用例。对于每组测试用例,一共两行。

第一行包含一个正整数n,代表序列长度。

第二行包含n个正整数,代表序列a。

输出格式

对于每组测试用例,如果序列a是平衡的,输出Yes,否则输出No。

样例1

输入:

3
3
1 2 3
4
2 3 1 4
5
1 2 3 4 5

输出:

Yes
Yes
No

样例解释

对于第一组测试用例,令i=2,则有1+2=3,因此序列是平衡的;

对于第二组测试用例,令i=2,则有2+3=1+4,因此序列是平衡的;

对于第三组测试用例,不存在满足要求的 i。

数据范围

对于全部数据,保证有1 ≤ t ≤ 100,1≤n, ai≤10000。

时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
考察核心知识点:前缀和思想的简化应用(无需显式存储前缀和数组,直接累加并与总和的一半比较)、多组测试用例的处理、循环与条件判断的结合。常见易错点:循环判断k的范围时遗漏边界(k必须小于n,不能等于)、总和溢出风险(本题数据范围较小用int足够,但需注意根据实际情况选择数据类型)。
⚙ 开始做这道题 1 人做过 · 2 收藏 · 17 浏览

讨论(0)