Pagini recente » Cod sursa (job #1409914) | Cod sursa (job #1607574) | Cod sursa (job #637436) | Cod sursa (job #171445) | Cod sursa (job #3246474)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int Nmax = 6000005;
long long sum[Nmax], best[Nmax];
int main()
{
int n;
fin >> n;
int x;
for(int i = 1; i <= n; ++i)
{
fin >> x;
sum[i] = sum[i - 1] + x;
}
int mini_sum = sum[0], bestSum = -INT_MAX, poz_st, poz_dr;
for(int i = 1; i <= n; ++i)
{
best[i] = sum[i] - mini_sum;
if (mini_sum > sum[i])
{
mini_sum = sum[i];
poz_st = i + 1;
}
if (bestSum < best[i])
{
bestSum = best[i];
poz_dr = i;
}
}
fout << bestSum << " " << poz_st << " " << poz_dr;
return 0;
}