Cod sursa(job #343913)

Utilizator digital_phreakMolache Andrei digital_phreak Data 27 august 2009 19:57:25
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>
#include <cstdlib>

//using namespace std;

int bestSum,i,n,A[6000000],min,mini,xi,sum[6000000];

int main() {

	freopen("grader_test2.in","r",stdin);
	freopen("ssm.out","w",stdout);
	
	scanf("%d",&n);
	for (i=0;i<n;++i) scanf("%d",&A[i]);
	sum[0] = A[0]; 
	for (i=1;i<n;++i) sum[i] = sum[i-1] + A[i];
	
	bestSum = -2000000000;
	
	min = sum[0];
	mini = 1;
	
	for (i=1;i<n;++i) {
		if ((sum[i] - min) > bestSum) {
			bestSum = sum[i] - min;
			xi = i+1;
		}
		if (min > sum[i]) {min = sum[i];mini=i+1;}
	}
	
	printf("%d %d %d",bestSum,mini+1,xi);
		
	fclose(stdin);
	fclose(stdout);
	
	return 0;
}