Cod sursa(job #1499429)

Utilizator o_micBianca Costin o_mic Data 10 octombrie 2015 16:53:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>
#include <vector>
#define DN 6000005
using namespace std;

int v[DN];

int main() {
	int n;
	ifstream fin("ssm.in");
	ofstream fout("ssm.out");
	fin >> n;
	for(int i = 0; i < n; ++i) {
		fin >> v[i];
	}
	int maxx = v[0], sum = 0, minn = 0, l = 1, res = v[0], lf = 1, rf = 1;
	for(int i = 0; i < n; ++i) {
		if(sum < minn) {
			minn = sum;
			l = i + 1;
		}
		sum += v[i];
		if(sum - minn > res) {
			res = sum - minn;
			lf = l;
			rf = i + 1;
		}
	}
	fout << res << " " << lf << " " << rf;
	return 0;
}