文章
25
粉丝
0
获赞
213
访问
7.6k
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
long long dp[N]; //dp[i]表示以a[i]结尾的子串序列和
long long a[N];
long long mx(long long a,long long b){
if(a >= b) return a;
else return b;
}
int main(){
int n;
while(cin >> n){
for(int i = 0; i < n; i++){
cin >> a[i];
}
dp[0] = a[0];
long long ans = (-1) * (1LL << 63);
for(int i = 1; i < n; i++){
if(dp[i-1] > 0){
dp[i] = dp[i-1] + a[i];
ans = mx(ans, dp[i]);
}else{
dp[i] = a[i];
ans = mx(ans,dp[i]);
}
}
printf("%lld\n",ans);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发