不是样例过了!!全RE了??
查看原帖
不是样例过了!!全RE了??
1051743
kanqiqin楼主2024/11/24 16:20

我用的是前缀和思路来解,首先算出每一位前面所有数字和,接着把数组分成两半,前一半用s[i]表示,后一半用s[n]-s[i]表示,判断相等,成立f=1,break掉,最后到循环外判断,代码实现:

#include<bits/stdc++.h>
using namespace std;
int x,n,s[110],a[110];
int main(){
	cin>>x;
	while(x--){
		cin>>n;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			s[i]=s[i-1]+a[i];
		}	
		int f=0;
		for(int i=1;i<=n;i++){
			if(s[i]==s[n]-s[i]){
				f=1; 
				break;
			} 
		}
		if(f==1) cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
	}
	return 0;
}

可为啥错了内??

2024/11/24 16:20
加载中...