Cod sursa(job #1124981)

Utilizator dyanagGrigore Diana dyanag Data 26 februarie 2014 14:57:02
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <cstdio>

FILE *f=fopen("ssm.in", "r");
FILE *g=fopen("ssm.out", "w");

int s, nr, l1=1, l2=1, v[6000001], smax, l1m, l2m;

int main()
{
    int n;
    fscanf(f, "%d", &n);
    for(int i=1; i<=n; ++i)
        fscanf(f, "%d", &v[i]);
    for(int i=1; i<=n; ++i){
        s+=v[i];
        if(s<0){
            s-=v[i]; --l2;
            l1=i+1; l2=i;
            s=0;
        }
        else{
            s+=nr;
            ++l2;
        }
        if(s>smax){
            smax=s;
            l1m=l1;
            l2m=l2;
        }
    }
    fprintf(g, "%d %d %d", smax, l1m, l2m);
return 0;
}