Cod sursa(job #1464378)

Utilizator EuEricCiordel Rromeo EuEric Data 23 iulie 2015 12:11:07
Problema Subsecventa de suma maxima Scor 45
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<cstdio>
#include <iostream>
using namespace std;
int v[100007],s[100007];
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
     int x,y,n,i,m,gogu=0,ans=-2000000000,ig = 0,igr,ind;
     scanf("%d",&n);
     for(i=1;i<=n;++i)
        scanf("%d",&v[i]);
    for(i=1;i<=n;++i)
        s[i]=s[i-1]+v[i];

    for(i=1;i<=n;++i)
    {

        if(s[i]-gogu>ans)
        {
            ans=s[i]-gogu;
            ind=i;
            igr = ig;
            }
        if(s[i]<gogu)
        {
            gogu=s[i];
            ig=i;
            }
            }



        printf("%d %d %d",ans,igr+1,ind);
return 0;
}