Pagini recente » Cod sursa (job #411639) | Cod sursa (job #1750196) | Cod sursa (job #933925) | Cod sursa (job #1523795) | Cod sursa (job #2907103)
#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;
}