Pagini recente » Cod sursa (job #1562474) | Cod sursa (job #1908903) | Cod sursa (job #2805287) | Cod sursa (job #1009859) | Cod sursa (job #3152295)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
int n = 0;
f >> n;
int a[n];
for (int i = 0; i < n; i++)
{
f >> a[i];
}
// int current_sum = 0;
// int max_sum = -99999;
int global_best_i = 0;
int global_best_j = 0;
int local_best_i = 0;
int local_best_j = 0;
int local_max = a[0];
int global_max = a[0];
for (int i = 1; i < n; i++)
{
local_best_j = i;
if (local_max+a[i] < a[i])
{
local_best_i = i;
}
local_max = max(local_max+a[i], a[i]);
if (global_max < local_max)
{
global_max = local_max;
global_best_j = local_best_j;
global_best_i = local_best_i;
}
}
g << global_max << ' ' << global_best_i+1 << ' ' << global_best_j+1;
return 0;
}