Cod sursa(job #344628)

Utilizator digital_phreakMolache Andrei digital_phreak Data 30 august 2009 21:20:12
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <ctime>
using namespace std;

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

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

int main() {
	ios::sync_with_stdio(false);

	fin >> n;
	for (i=0;i<n;++i) fin >> sum[i];
	bestSum = -(1<<30);
	
	_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 = mini+1;
			yi = i+1;
		}
		if (_min > sum[i]) {_min = sum[i];mini=i+1;}
	}
	
	fout << bestSum << " " <<  xi << " " << yi << "\n";
		
	fin.close();
	fout.close();
	
	return 0;
}