#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> a(n);
int N=0,sum=0,t=0,T=0,l=0,r=n-1,L=0;
for(int i=0; i<n; i++) {//输入同时动态规划
cin>>a[i];
if(a[i])
t=1;
if(!a[i])
T=1;
if(sum+a[i]>=0)
sum+=a[i];
else{
sum=0;
L=i+1;
}
if(sum>N) {
N=sum;
l=L;
r=i;
}
}
if(!t||(!N&&T))//无正数且存在0
cout<<"0 0 0";
else
cout<<N<<" "<<a[l]<<" "<<a[r];
return 0;
}
1007 Maximum Subsequence Sum
最新推荐文章于 2024-09-13 17:43:09 发布