Cod sursa(job #361236)

Utilizator dushmiMihai-Alexandru Dusmanu dushmi Data 4 noiembrie 2009 11:46:59
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<cstdio>
int n,k,pi,ps,max,sc,a[6000001];
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    k=1;
    pi=1;
    ps=1;
    max=a[1];
    sc=a[1];
    if(sc<0)
    {
        sc=0;
        k=2;
    }
    for(int i=2;i<=n;++i)
    {
        sc+=a[i];
        if(sc>max)
        {
            max=sc;
            pi=k;
            ps=i;
        }
        if(sc<0)
        {
            sc=0;
            k=i+1;
        }
    }
    printf("%d %d %d",max,pi,ps);
    return 0;
}