40分求条
谢谢
#include<bits/stdc++.h>
using namespace std;
const int maxn=20005;
int n,s[maxn];
int read(){
int ret=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-f;ch=getchar();}
while (ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=getchar();
return ret*f;
}
int main(){
n=read();
for (int i=1;i<=n;i++) s[i]=s[i-1]+read();
int min_lst=0,ans=-(1<<30);
for (int i=1;i<=n;i++){
ans=max(ans,s[i]-min_lst);
min_lst=min(min_lst,s[i]);
}
cout<<ans<<endl;
return 0;
}