Cod sursa(job #264145)

Utilizator sima_cotizoSima Cotizo sima_cotizo Data 21 februarie 2009 16:07:38
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
using namespace std;

int N, sm, x, y, i, mm, sa, pmm;

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

	in >> N >> sm;
	x = y = 1;
	mm = sm < 0 ? 0 : sm;
	pmm = 1;
	sa = sm;
	for ( i=2; i<=N; ++i ) {
		int c;
		in >> c;
		sa += c;
		if ( sa-mm > sm ) 
			sm = sa-mm, x = pmm, y = i;
		if ( sa < mm ) 
			mm = sa, pmm = i+1;
	}

	ofstream("ssm.out") << sm << " " << x << " " << y << "\n";
	return 0;
}