Cod sursa(job #553519)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 14 martie 2011 09:36:56
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
# include <fstream>
# define MAXN 6000000

using namespace std;

int sum, bestSum = -1999999999, i, N, p1, p2, m1, cit, mn = 2000000000;
int s[MAXN];

int main(){
	ifstream f ("ssm.in"); ofstream g ("ssm.out"); 
	f >> N;
	for (i = 1; i <= N; i++){
		f >> cit;
		s[i] = s[i - 1] + cit;
	}
	for (i = 1; i <= N; i++){
		if (bestSum < s[i] - mn){
			bestSum = s[i] - mn;
			p1 = m1;
			p2 = i;
		}
		if (mn > s[i]){
			mn = s[i];
			m1 = i;
		}
	}
	g << bestSum << ' ' << p1 + 1 << ' ' <<  p2 << '\n';	
	return 0;
}