#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 分组改写上表。