Cod sursa(job #553511)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 14 martie 2011 09:32:35
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
# include <stdio.h>
# define MAXN 6000000

int sum, bestSum = -1999999999, i, N, p1, p2, m1, cit, min = 2000000000;
int s[MAXN];

int main(){
	freopen ("ssm.in", "r", stdin); freopen ("ssm.out", "w", stdout);
	scanf ("%d", &N);
	for (i = 1; i <= N; i++){
		scanf ("%d", &cit);
		s[i] = s[i - 1] + cit;
	}
	for (i = 1; i <= N; i++){
		if (bestSum < s[i] - min){
			bestSum = s[i] - min;
			p1 = m1;
			p2 = i;
		}
		if (min > s[i]){
			min = s[i];
			m1 = i;
		}
	}
	printf ("%d %d %d", bestSum, p1 + 1, p2); 
	return 0;
}