Cod sursa(job #799554)

Utilizator KheyasVettor Stefan-Andrei Kheyas Data 19 octombrie 2012 12:44:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <cstdio>
using namespace std;

int SumaCurenta, SumaMinima, SumaMaxima, i, n, iMinim, B, E;

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

    scanf("%d%d",&n, &x);
    SumaCurenta = SumaMaxima = x;
    B = E = 1;

    if( x<0 )
    {
        SumaMinima = x;
        iMinim = 1;
    }

    for(i=2; i<=n; i++)
    {
        scanf("%d", &x);
        SumaCurenta += x;
        if( SumaCurenta - SumaMinima > SumaMaxima )
        {
            B = iMinim + 1;
            E = i;
            SumaMaxima = SumaCurenta - SumaMinima;
        }
        if( SumaCurenta < SumaMinima )
        {
            SumaMinima = SumaCurenta;
            iMinim = i;
        }
    }

    printf("%d %d %d", SumaMaxima, B, E);

    return 0;
}