Cod sursa(job #2627905)

Utilizator gasparrobert95Gaspar Robert Andrei gasparrobert95 Data 13 iunie 2020 11:51:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 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];

int main() {
	fin >> n;
	for (int i = 1; i <= n; ++i) {
		fin >> v[i];
		v[i] += v[i - 1];
	}
	smax = v[1];
	for (int i = 2, min_j = 1; i <= n; ++i) {
		if (v[i] - v[min_j] > smax) {
			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;
}