Pagini recente » Cod sursa (job #2122628) | Cod sursa (job #1813894) | Cod sursa (job #468562) | Cod sursa (job #2630692) | Cod sursa (job #2769558)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int MAXN = 7000005;
const int INFINIT = (1 << 31);
int sum[MAXN];
int main()
{
int n;
fin >> n;
int ans = -INFINIT, minSum = 0;
int startIndex = 0, endIndex = 0;
for (int i = 1; i <= n; i++)
{
fin >> sum[i];
sum[i] += sum[i - 1];
if (sum[i] - minSum > ans)
{
ans = sum[i] - minSum;
endIndex = i;
}
if (sum[i] < minSum)
{
minSum = sum[i];
startIndex = i + 1;
}
}
fout << ans << ' ' << startIndex << ' ' << endIndex;
}
/*
7
5 -6 3 4 -2 3 -3
5 -1 2 6 4 7 4
*/