Pagini recente » Cod sursa (job #122248) | Cod sursa (job #1744395) | Cod sursa (job #1871381) | Cod sursa (job #2620001) | Cod sursa (job #1458201)
//subsecv de suma maxima
#include<bits/stdc++.h>
#define debug cerr<<"ok";
#define MAXN 5010
using namespace std;
int n,i,j,S[MAXN],best[MAXN];
int main ()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
S[0]=0;
int x;
for(i=1;i<=n;i++){
scanf("%d",&x);
S[i]=x+S[i-1];
}
int bestS=-int(1e9);
int s=0,e=0,miN=0;
int index=0;
int celMaiTheBest=0;
for (i=1; i<=n; i++) {
if (celMaiTheBest < S[i] - miN){
celMaiTheBest = S[i] - miN;
s = index + 1;
e = i;
}
if (miN > S[i]){
miN = S[i];
index = i;
}
}
printf("%d %d %d",celMaiTheBest,s,e);
return 0;
}