Pagini recente » Atasamentele paginii Profil OvidiuAnghelidi | Cod sursa (job #2970148) | Cod sursa (job #2269539) | Cod sursa (job #2258833) | Cod sursa (job #2336212)
#include <stdio.h>
#include <math.h>
int main(){
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
int maxim, n, i, a, i1, i2, j1, b;
long long s, smax;
s = 0;
maxim = smax = - INFINITY;
scanf("%d", &n);
i1 = b = 1;
for (i = 1; i <= n; i++)
{
scanf("%d", &a);
if (maxim < a)
{
maxim = a;
j1 = i;
}
if (s < 0)
{
s = 0;
b = i;
}
s = s + a;
if (s > smax)
{
smax = s;
i1 = b;
i2 = i;
}
}
if (maxim < 0)
printf("%d %d %d", maxim, j1, j1);
else
printf("%lld %d %d", smax, i1, i2);
return 0;
}