#3974. [GESP2409 三级] 平衡序列

[GESP2409 三级] 平衡序列

平衡序列

题目描述

⼩杨有⼀个包含 个正整数的序列 ,他认为⼀个序列是平衡的当且仅当存在⼀个正整数 ( )使得序列第 个到第 个数字的总和等于第 个到第 个数字的总和。 ⼩杨想请你判断序列 是否是平衡的。

输入格式

第⼀⾏包含⼀个正整数 ,代表测试⽤例组数。 接下来是 组测试⽤例。对于每组测试⽤例,⼀共两⾏。 第⼀⾏包含⼀个正整数 ,代表序列长度。 第⼆⾏包含 个正整数,代表序列 。

输出格式

对于每组测试⽤例,如果序列 是否是平衡的,输出 Yes,否则输出 No。 3.1.4 样例1 1 3 2 3 3 1 2 3 4 4 5 2 3 1 4 6 5 7 1 2 3 4 5 1 Yes 2 Yes 3 No 对于第⼀组测试⽤例,令 ,则有 ,因此序列是平衡的; 对于第⼆组测试⽤例,令 ,则有 ,因此序列是平衡的; 对于第三组测试⽤例,不存在满⾜要求的 。 对于全部数据,保证有 。 3.1.5 参考程序 1 #include<bits/stdc++.h> 2 using namespace std; 3 int a[10010]; 4 int main(){ 5 int t; 6 cin>>t; 7 while(t--){ 8 int n; 9 cin>>n; 10 int sum=0; 11 for(int i=1;i<=n;i++){ 12 cin>>a[i]; 13 sum+=a[i]; 14 } 15 int tot=0,fl=0; 16 for(int i=1;i<n;i++){ 17 tot+=a[i]; 18 if(tot*2==sum){ 19 fl=1; 20 break; 21 } 22 } 23 if(fl)cout<<"Yes\n"; 24 else cout<<"No\n"; 25 } 26 }

样例输入 #1

1 3
2 3
3 1 2 3
4 4
5 2 3 1 4
6 5
7 1 2 3 4 5
1 Yes
2 Yes
3 No
对于第⼀组测试⽤例,令 ,则有 ,因此序列是平衡的;
对于第⼆组测试⽤例,令 ,则有 ,因此序列是平衡的;
对于第三组测试⽤例,不存在满⾜要求的 。

样例输出 #1


数据范围

见题目描述

知识点与难度

本题涉及的知识点从属于 GESP 3级,难度等级:⭐⭐ 。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 / 特殊性质
2 15 9~11 Hack
3 30 12~20 中大规模
4 25 21~25 随机回归

生测试数据后,按实际 subtask 分组改写上表。