Cod sursa(job #634311)

Utilizator Gaby_mMititelu Gabriel Gaby_m Data 15 noiembrie 2011 22:01:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
#include<algorithm>
const int NMAX = 6000001;
using namespace std;
int N;
int values[NMAX];
ifstream fin("ssm.in");
ofstream fout("ssm.out");

void solve() {	
	int start,end, auxStart;
	int sum = -int(2e9);	
	int auxSum = 0;
	fin>>N;
	int i;	
	for (i = 0; i < N; i++) {
		fin>>values[i];
		if (auxSum < 0){ 
			auxSum = values[i]; auxStart = i;
		}
		else
			auxSum += values[i];
		
		if (sum < auxSum) {
			sum = auxSum; start = auxStart; end = i;
		}
	}	
	fout<<sum<<" "<<start+1<<" "<<end+1<<"\n";	
	
}

int main(){	
	solve();	
	return 0;
}