Cod sursa(job #1686248)

Utilizator diviadivia negoescu divia Data 12 aprilie 2016 10:01:45
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<stdio.h>
FILE *fin,*fout;
int n,i,x,v[6000001],start,endmax,startmax;
long long smaxim,sbynow;
int main()
{
    fin=fopen("ssm.in","r");
    fout=fopen("ssm.out","w");
    fscanf(fin,"%d\n",&n);
    for(i=1;i<=n;i++)
    {
        fscanf(fin,"%d ",&v[i]);
    }
    smaxim=0;
    sbynow=0;
    for(i=1;i<=n;i++)
    {
        x=v[i]+sbynow;
        if(x<0){x=0; start=0;}
        else if (x>=0){

            if (start==0){start=i;}
        }
        sbynow=x;
        if(sbynow>smaxim){
                smaxim=sbynow;
                startmax=start;
                endmax=i;
        }
    }
    fprintf(fout,"%lld %d %d",smaxim,startmax,endmax);
    return 0;
}