测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A31089. 平衡序列

填空题 中等

题目描述

平衡序列

题目描述

小杨有一个包含n个正整数的序列 a,他认为一个序列是平衡的当且仅当存在一个正整数 i(1≤i<n)使得序列第 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≤ai≤10000。

参考答案

#include<bits/stdc++.h> using namespace std; int a[10010]; int main() { int t; cin>>t; while(t--) { int n; cin>>n; int sum=0; for(int i=1; i<=n; i++) { cin>>a[i]; sum+=a[i]; } int tot=0,fl=0; for(int i=1; i<n; i++) { tot+=a[i]; if(tot*2==sum) { fl=1; break; } } if(fl)cout<<"Yes\n"; else cout<<"No\n"; } }
上一题 下一题