Cod sursa(job #3315364)

Utilizator marelucaMare Luca Ghita mareluca Data 13 octombrie 2025 22:20:54
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

#include <vector>

#include <climits>

std::ifstream fin("ssm.in");

std::ofstream fout("ssm.out");

std::vector<long long> v;

int main() {

	int n;

	fin >> n;

	v.resize(n);

	for(int i = 0; i < n; ++i) {

		fin >> v[i];

	}

	long long max_sum = v[0], current_sum = v[0];
    int _start = 0, start = 0, end = 0;

	for(int i = 0; i < n; ++i) {
		if(current_sum < 0) {
            current_sum = 0;
            _start = i;
        }

        current_sum += v[i];

        if(current_sum > max_sum) {
            max_sum = current_sum;
            start = _start;
            end = i;
        }
	}

	fout << max_sum << ' ' << start + 1 << ' ' << end + 1;

	return 0;

}