Pagini recente » Cod sursa (job #3148194) | Cod sursa (job #1977198) | Cod sursa (job #1779214) | Cod sursa (job #825287) | Cod sursa (job #528783)
Cod sursa(job #528783)
#include <fstream>
#define MAXN 6000010
using namespace std;
int sum[MAXN], best[MAXN], a[MAXN], n, bestSum;
int main()
{
ifstream f("ssm.in");
ofstream g("ssm.out");
f >> n;
sum[0] = 0;
for(int i = 1; i <= n; ++i)
{
f >> a[i];
sum[i] = sum[i - 1] + a[i];
}
int min = 0, pozi = 0, pozf = 0;
for(int i = 1; i <= n; ++i)
{
best[i] = sum[i] - min;
if(sum[i] < min)
{
min = sum[i];
pozi = i;
}
if(best[i] > bestSum)
{
bestSum = best[i];
pozf = i;
}
}
g << bestSum << " " << pozi + 1 << " " << pozf;
f.close();
g.close();
return 0;
}