Cod sursa(job #3315357)

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

#include <vector>

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

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

int main() {

	int n;

	std::vector<int> v;

	fin >> n;

	v.resize(n);

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

		fin >> v[i];

	}

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

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

		current_sum += v[i];

		if(current_sum < 0) {

			current_sum = 0;

			start = i + 1;

			end = i + 1;

		}

		else {

			if(max_sum < current_sum) {
				max_sum = current_sum;

				end = i;

			}

		}

	}

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

	return 0;

}