Cod sursa(job #536985)

Utilizator razyelxrazyelx razyelx Data 19 februarie 2011 20:38:57
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream.h>
#define N 6000005

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int s[N], ai,n, begin, end, idx, best = -int(2e9);

int main(){
	int i;
	
	fin>>n;
	
	
	for (i=1;i<=n;i++){
		
		fin>>ai;
		if (s[i-1] + ai >= ai)
			s[i] = s[i-1] + ai;
		else{
			s[i] = ai;
			idx = i;		
		}
		if (s[i] > best){
			begin = idx;
			end = i;
			best = s[i];
		}
	}
	fout<<best<<" "<<begin<<" "<<end;
	return 0;
	
}