文章
5
粉丝
221
获赞
12
访问
25.4k
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
int a[maxn];
int dp[maxn];
int n;
int main(){
while(~scanf("%d", &n)){
bool flag = false;
for(int i=0;i<n;i++){
scanf("%d", &a[i]);
if(a[i]>0) flag = true;
}
if(!flag) cout<<"0 0 0"<<endl;
else{
memset(dp,0,sizeof(dp));
int ans = 0;
int pos_st=0;
int pos_en=0;
dp[0] = a[0];
int st = 0;
int en = 0;
for(int i=1;i<n;i++){
if(dp[i-1]+a[i] > a[i]){
dp[i] = dp[i-1]+a[i];
en = i;
}
else{
dp[i] = a[i];
st = i;
en = i;
}
if(ans < dp[i]){
pos_st = st;
pos_en = en;...
登录后发布评论
暂无评论,来抢沙发