Cod sursa(job #2627902)

Utilizator gasparrobert95Gaspar Robert Andrei gasparrobert95 Data 13 iunie 2020 11:49:41
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, a, b;
long long smax, v[6000005];
bool smax_gol = true;

int main() {
	fin >> n;
	for (int i = 1; i <= n; ++i) {
		fin >> v[i];
		v[i] += v[i - 1];
	}
	for (int i = 2, min_j = 1; i <= n; ++i) {
		if (v[i] - v[min_j] > smax || smax_gol == true) {
			smax_gol = false;
			smax = v[i] - v[min_j];
			a = min_j, b = i;
		}
		if (v[min_j] > v[i]) 
			min_j = i;
	}
	fout << smax << " " << a + 1 << " " << b;
	return 0;
}