最大字段和
最大字段和:
例 题
但凡我的b变成负数或0,那么我显然让其变成a[i]价值更高
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#include<iomanip>
using namespace std;
int n,a[1000010];
int b,ans=-99999999;
long long read(){
long long x=0,h=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')h=-1;ch=getchar();}
while(ch>='0'&&ch<='9'){x=x*10+(long long)(ch-'0');ch=getchar();}
return x*h;
}
int main(){
n=read();
for(int i=1;i<=n;i++)a[i]=read();
for(int i=1;i<=n;i++){
if(b>0){
b+=a[i];
}
else b=a[i];
ans=max(b,ans);
}
cout<<ans<<endl;
return 0;
}

浙公网安备 33010602011771号