Cod sursa(job #1494973)

Utilizator Burbon13Burbon13 Burbon13 Data 2 octombrie 2015 09:28:26
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>

using namespace std;

const int mx = 6000069;
const int inf = 0x3f3f3f3f;

int n,v[mx] ;

int main()
{
    freopen("ssm.in" , "r" , stdin);
    freopen("ssm.out" , "w" , stdout);

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

    int best = -inf, Min = 0, last, Beg, End;
    for (int i = 1 ; i <= n ; i ++){
        v[i] += v[i-1] ;
        if ( v[i] - Min > best )
            best = v[i] - Min, Beg = last + 1, End = i;
        if ( v[i] < Min )
            Min = v[i], last = i;
    }

    printf( "%d %d %d\n" , best , Beg , End ) ;

    return 0;
}