Cod sursa(job #1515721)

Utilizator TibiraducanuTiberiu Raducanu Tibiraducanu Data 2 noiembrie 2015 08:55:01
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>

using namespace std;

int v[6000005],s[6000005];

int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);

    int n,i,maxx=0,in,sf;

    scanf("%d",&n);

    for(i=1;i<=n;i++) scanf("%d",&v[i]);

    for(i=1;i<=n;i++)
    {
        if(s[i-1]>0) s[i]=s[i-1]+v[i];
        else s[i]=v[i];

        if(s[i]>maxx)
        {
            maxx=s[i];
            sf=i;
        }
    }

    i=sf;

    while(v[i]!=s[i])
    {
        i--;
        in=i;
    }

    printf("%d %d %d\n",maxx,in,sf);



    return 0;
}