Pagini recente » Cod sursa (job #1966213) | Cod sursa (job #1536962) | Cod sursa (job #2622132) | Cod sursa (job #401127) | Cod sursa (job #2769553)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int MAXN = 6e6 + 5;
const int INFINIT = (1 << 31);
int sum[MAXN];
int main()
{
int n;
fin >> n;
int ans = -INFINIT, minSum = sum[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 (minSum > sum[i])
{
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
*/