Cod sursa(job #343917)

Utilizator digital_phreakMolache Andrei digital_phreak Data 27 august 2009 20:04:50
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <cstdlib>

//using namespace std;

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

int main() {

	freopen("ssm.in","r",stdin);
	freopen("ssm.out","w",stdout);
	
	scanf("%d",&n);
	for (i=0;i<n;++i) scanf("%d ",&sum[i]); 
	
	bestSum = -(1<<31);
	
	min = sum[0];
	mini = 1;
	
	for (i=1;i<n;++i) {
		sum[i]+=sum[i-1];
		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\n",bestSum,mini+1,xi);
		
	fclose(stdin);
	fclose(stdout);
	
	return 0;
}