Cod sursa(job #1075017)

Utilizator rzvrzvNicolescu Razvan rzvrzv Data 8 ianuarie 2014 13:18:22
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>

using namespace std;

int i,n,st,dr,x,mx,stm,s,drm;

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    st=1;
    dr=1;
    mx=-20000000;
    s=0;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x);
        if(s<0)
        {
            st=i;
            s=0;
        }
        s+=x;
        if(s>mx)
        {
            stm=st;
            drm=i;
            mx=s;
        }
        if(s==mx&&i-st<drm-stm)
        {
            drm=i;
        }
    }
    printf("%d %d %d\n",mx,stm,drm);
}