Pagini recente » Cod sursa (job #2558465) | Profil HoriaBosoanca | Diferente pentru implica-te/arhiva-educationala intre reviziile 95 si 223 | Cod sursa (job #293022) | Cod sursa (job #260961)
Cod sursa(job #260961)
#include <stdio.h>
#include <assert.h>
#define MAXV 2147483647
int N;
int Sol, p1, p2;
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int i, X, Smin, S, last = 0;
S = Smin = 0;
assert( scanf("%d ", &N) == 1);
assert(1 <= N && N <= 7000000);
for (i = 1; i <= N; i++)
{
assert( scanf("%d ", &X) == 1);
S += X;
if (S < Smin) Smin = S, last = i;
if (S - Smin > Sol)
{
Sol = S - Smin;
p1 = last + 1;
p2 = i;
}
}
assert(-MAXV <= Sol && Sol <= MAXV);
printf("%d %d %d\n", Sol, p1, p2);
return 0;
}