Pagini recente » Cod sursa (job #1783964) | Cod sursa (job #1993824) | Cod sursa (job #1742069) | Cod sursa (job #602669) | Cod sursa (job #2505969)
#include <cstdio>
#include <algorithm>
const int NMAX = 6e6;
int v[NMAX];
int s[NMAX];
int main(void)
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int n, pozmax;
long long smax;
scanf("%d", &n);
for (int i = 0; i < n; ++i)
scanf("%d", v + i);
s[0] = v[0], smax = v[0];
for (int i = 1; i < n; ++i) {
if (s[i - 1] < 0)
s[i] = v[i];
else
s[i] = v[i] + s[i - 1];
if (s[i] > smax)
smax = s[i], pozmax = i;
}
long long ts = 0;
int secstart = pozmax;
while (ts != smax)
ts += v[secstart], --secstart;
printf("%lld %d %d\n", smax, secstart + 2, pozmax + 1);
fclose(stdin);
fclose(stdout);
return 0;
}