Cod sursa(job #770023)

Utilizator igsifvevc avb igsi Data 21 iulie 2012 18:38:24
Problema Subsecventa de suma maxima Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.55 kb
#include<stdlib.h>
#include<stdio.h>

int N, x, v, max, l, r, i, start;

int main()
{
    FILE *f = fopen("ssm.in", "r");

    fscanf(f, "%d", &N);
    fscanf(f, "%d", &v);
    max = v;
    l = r = start = 1;
    if(v < 0)
    {
	start = 2;
	v = 0;
    }

    for(i = 2; i <= N; ++i)
    {
	fscanf(f, "%d", &x);
	v += x;
	
	if(max < v)
	{
	    max = v;
	    l = start;
	    r = i;
	}

	if(v < 0)
	{
	    v = 0;
	    start = i+1;
	}
    }
    fclose(f);   

    f = fopen("ssm.out", "w");
    fprintf(f, "%d %d %d\n", max, l, r);
    fclose(f);

    return 0;
}