Cod sursa(job #743919)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 6 mai 2012 19:39:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<iostream>
#include<fstream>

using namespace std;

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

const int maxn = 7000005;

int s[maxn], n, bst = ~(1 << 30), start, sfarsit;

void dinamica()
{
	int i, j, idx, suma = 0;
	
	for(i = 1; i <= n; ++i){
		if(suma < 0)
			suma = s[i], idx = i;
		else
			suma += s[i];
		
		if(bst < suma)
			bst = suma, start = idx, sfarsit = i;
	}
}

int main()
{
	int i;
	
	in >> n;
	
	for(i = 1; i <= n; ++i)
		in >> s[i];
	
	dinamica();
	
	out << bst << " " << start << " " << sfarsit;
	
	return 0;
}