Cod sursa(job #659972)

Utilizator razvan_kusztosKusztos razvan razvan_kusztos Data 11 ianuarie 2012 13:45:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <cstdio>

using namespace std;
int i,s[7000005],l,r,im,n,x,max=-int(2e9),min=0;
int main()
    {
        freopen("ssm.in","r",stdin);
        freopen("ssm.out","w",stdout);
        scanf("%d",&n);
        s[0]=0;
        for (i=1;i<=n;i++)
            {
                scanf("%d",&x);
                s[i]=s[i-1]+x;
            }
        for (i=1;i<=n;i++)
            {
                if (max<s[i]-min)
                   {
                       max=s[i]-min;
                       l=im+1;
                       r=i;
                   }
                if (min>s[i])
                   {
                       min=s[i];
                       im=i;
                   }
            }
        printf("%d %d %d\n",max,l,r);
    }