Cod sursa(job #800594)

Utilizator Razvan96Stoleriu Razvan Constantin Razvan96 Data 22 octombrie 2012 09:03:39
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>
using namespace std;

int SumaCurenta,SumaMinima,SumaMaxima,i,n,iMinim,B,E;
int main()
{
    freopen("ssn.in","r",stdin);
    freopen("ssn.out","w",stdout);
    int x;
    scanf("%d%d",&n,&x);
    SumaCurenta=SumaMaxima=x;
    B=E=1;
    if(x<0)
    {
        SumaMinima=1;
        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;
}