• 板块灌水区
  • 楼主zcx0628
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/11 15:03
  • 上次更新2025/1/11 20:00:45
查看原帖
779007
zcx0628楼主2025/1/11 15:03

给出一个长度为 nn 的序列,求出最大子段和。多组数据。
my code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[10001],sum_[10001];
signed main(){
	int t,n;
	cin>>t;
	while(t--){
		memset(a,0,sizeof(a));
		memset(sum_,0,sizeof(sum_));
		cin>>n;
		if(n==1){
			cin>>a[0];
			cout<<a[0]<<endl;
			continue;
		}
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum_[i]=sum_[i-1]+a[i];
		}
		int ans=0;
		for(int i=1;i<n;i++){
			for(int j=i+1;j<=n;j++){
				if(ans<sum_[j]-sum_[i]){
					ans=sum_[j]-sum_[i];
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}

0pts。我觉得逻辑上没什么问题(做了个前缀和)。
哦对了,数据大小:
数组总和 <106<10^6 ,元素绝对值 <109<10^9
有哪位大佬能找出错误?可以要关

2025/1/11 15:03
加载中...