Cod sursa(job #550662)

Utilizator vladtarniceruVlad Tarniceru vladtarniceru Data 9 martie 2011 20:29:49
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
# include <fstream.h>
# include <stdio.h>
long n, i, s1, s2, cit, min = ( (1 << 31) - 1), sol, p1, p2, pm;
int main (){
	sol = min * (-1);
	//7
    //5 -6 3 4 -2 3 -3
	ifstream f ("ssm.in");
	freopen ("ssm.out", "w", stdout);
	f >> n;
	for (i = 1; i <= n; ++i){
		f >> cit;
		s1 += cit;
		if (min > s2){
			min = s2;
			pm = i - 1;
		}
		if (sol < s1 - min && i > 1){
			p1 = pm;
			p2 = i;
			sol = s1 - min;
		}
		s2 += cit;
	}
	printf ("%ld %ld %ld\n", sol, p1 + 1, p2);
	return 0;
}