Cod sursa(job #344994)

Utilizator irene_mFMI Irina Iancu irene_m Data 1 septembrie 2009 14:38:08
Problema Subsecventa de suma maxima Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>
#define MaxN 6000009

int s[MaxN],n,smax,st,dr;

void cit()
{
    int a,i;
    freopen("ssm.in","r",stdin);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a);
        s[i]=s[i-1]+a;
    }
}

void caut()
{
    int i,j;
    smax=s[1]; st=0; dr=1;
    for(i=2;i<=n;i++)
        for(j=1;j<i;j++)
            if(s[i]-s[j]>smax || (s[i]-s[j]==smax && dr-st>i-j))
                smax=s[i]-s[j], st=j, dr=i;
}

void afis()
{
    freopen("ssm.out","w",stdout);
    printf("%d %d %d",smax,st+1,dr);
}

int main()
{
    cit();
    caut();
    afis();
    return 0;
}