Cod sursa(job #1457625)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 3 iulie 2015 19:23:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#include <limits>
using namespace std;

int main(){
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	int n;
	f >> n;
	int ssm_cur = -1, ssm = numeric_limits<int>::min();
	int ssm_st = -1, ssm_fin = -1, ssm_cur_st = -1;
	for(int i = 0, x; i < n; ++i){
		f >> x;
		if(ssm_cur < 0){
			ssm_cur = 0;
			ssm_cur_st = i; }
		ssm_cur += x;
		if(ssm < ssm_cur){
			ssm = ssm_cur;
			ssm_st = ssm_cur_st;
			ssm_fin = i; } }
	g << ssm << ' ' << (ssm_st+1) << ' ' << (ssm_fin+1);
	return 0; }