Pagini recente » Cod sursa (job #24267) | Cod sursa (job #2927152) | Cod sursa (job #1615389) | Cod sursa (job #345286) | Cod sursa (job #2506341)
#include <cstdio>
const int NMAX = 6e6;
int ind[NMAX], s[NMAX];
int main(void)
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int n, begpos, x, endpos, smax;
scanf("%d %d", &n, &x);
s[0] = smax = x, ind[0] = 1;
for (int i = 1; i < n; ++i) {
scanf("%d", &x);
if (s[i - 1] < 0)
s[i] = x, ind[i - 1] = i;
else
s[i] = x + s[i - 1], ind[i - 1] = ind[i - 2];
if (s[i] > smax)
smax = s[i], begpos = i, endpos = ind[i - 1];
}
printf("%d %d %d\n", smax, endpos + 1, begpos + 1);
return 0;
}