Cod sursa(job #735467)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 16 aprilie 2012 15:29:04
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<cstdio>
int main()
{
    int i,n,a,sum,bestsum,start=1,stop=1,beststart=1,beststop=1;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n); scanf("%d",&a); bestsum=a; sum=a;
    for(i=2;i<=n;i++)
    {
        scanf("%d",&a);
        if(sum+a>a)
        {
            sum=sum+a;
            stop=i;
        }
        else
        {
            start=i;
            stop=i;
            sum=a;
        }
        if(sum>bestsum || ((sum==bestsum)&&((stop-start)<(beststop-beststart))))
        {
            bestsum=sum; beststart=start; beststop=stop;
        }
    }
    printf("%d %d %d",bestsum,beststart,beststop);
    return 0;
}