Cod sursa(job #507822)

Utilizator arnold23Arnold Tempfli arnold23 Data 6 decembrie 2010 21:27:44
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>

using namespace std;

long n,i,x,sum,best,kezd,veg,kx,q;

int main() {
	ifstream in("ssm.in");
	ofstream out("ssm.out");

	in >> n;

	sum=0;
	best=-(int)2e9;
	kx=1;
	q=0;
	for (i=1;i<=n;++i) {
		in >> x;
		q=sum+x;
		if (q>=x) sum=q;
		else {
			sum=x;
			kx=i;
		}	
		if (sum>best) {
				best=sum;
				kezd=kx;
				veg=i-1;
		}
	}

	out << best << " " << kezd << " " << veg;

	in.close();
	out.close();

	return 0;
}