dp[i]=max(dp[i-1]+a[i],a[i]); 注意数组范围
#include<iostream>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
long long n,a[200005],dp[200005];
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
dp[0]=a[0];
for(int i=1;i<n;i++){
dp[i]=max(dp[i-1]+a[i],a[i]);
}
sort(dp,dp+n);
cout<<dp[n-1]<<endl;
return 0;
}