灌水区

zcx0628 @ 2025-01-11 15:03:47

给出一个长度为 n 的序列,求出最大子段和。多组数据。
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。我觉得逻辑上没什么问题(做了个前缀和)。
哦对了,数据大小:
数组总和 <10^6 ,元素绝对值 <10^9
有哪位大佬能找出错误?可以要关


|