Cod sursa(job #2907103)

Utilizator BadBoyRADULICEA Constantin Dumitru Petre BadBoy Data 28 mai 2022 18:57:35
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.94 kb
#include<stdio.h>
#include <iostream>
#include <fstream>
#include <vector>

// https://infoarena.ro/problema/ssm 
int main()
{
	int n_nums, i, best_start_seq, best_end_seq, cur_start_seq, cur_sum, best_sum, nums;
	std::ifstream fin("ssm.in");
	std::ofstream fout("ssm.out");
	best_end_seq = 0;

	fin >> n_nums;

	best_start_seq = 0;
	cur_sum = (unsigned int)-1;
	best_sum = (unsigned int) -1;
	cur_start_seq = 0;

	for (i = 1; i <= n_nums; i++)
	{
		fin >> nums;
		if (cur_sum < 0) {
			cur_sum = nums;
			cur_start_seq = i;
		}
		else cur_sum += nums;
		if (best_sum < cur_sum)
		{
				best_sum = cur_sum;
				best_start_seq = cur_start_seq;
				best_end_seq = i;
		}
	}
	printf("Sum: %d\n", best_sum);
	printf("Start: %d\n", best_start_seq + 1);
	printf("end: %d\n", best_end_seq + 1);
	fout << best_sum << ' ';
	fout << best_start_seq + 1 << ' ';
	fout << best_end_seq + 1;

	fin.close();
	fout.close();
	return 0;
}