Cod sursa(job #1458203)

Utilizator tiby10Tibi P tiby10 Data 7 iulie 2015 09:41:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
//subsecv de suma maxima
#include<bits/stdc++.h>
#define debug cerr<<"ok";
#define MAXN 6000000

using namespace std;

int n,i,j,S[MAXN];

int main ()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    S[0]=0;

    for(i=1;i<=n;i++)
        scanf("%d",&S[i]);


    int s=0,e=0,miN=0;
    int index=0;
    int celMaiTheBest=-int(1e9);
    for (i=1; i<=n; i++) {
        S[i] += S[i-1];
        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;
}