Cod sursa(job #1773134)

Utilizator cezarinfoTulceanu Cezar cezarinfo Data 7 octombrie 2016 16:22:21
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<cstdio>
using namespace std;
FILE*in=fopen("ssm.in","r");
FILE*out=fopen("ssm.out","w");
int N,v[6000005],i,s=0,k=0,memok=0,l=0,memol=0,maxs=0;
int main()
{
    fscanf(in,"%d",&N);
    for(i=0;i<N;i++)
    {
        fscanf(in,"%d",&v[i]);
        s=s+v[i];
        if(s<0)
        {
            s=0;
            k=i+1;
        }
        if(maxs<=s)
        {
            if(maxs==s&&l-k>memol-memok&&memol!=memok)
            {
                l=l;
            }
            else
            {
                memol=l;
                memok=k;
            }
            maxs=s;
        }
        l++;
    }
    fprintf(out,"%d %d %d",maxs,memok+1,memol+1);
}