Pagini recente » Cod sursa (job #321613) | Cod sursa (job #78060) | Cod sursa (job #1416601) | Cod sursa (job #9798) | Cod sursa (job #314313)
Cod sursa(job #314313)
#include <stdio.h>
int main()
{ freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
long n,st,st1,dr,suma,i,x;
long long suma1;
scanf ("%ld",&n);
st=st1=1;;dr=0;
suma=-10000000000LL;
suma1=0;
for (i=1;i<=n;i++)
{ scanf ("%ld",&x);
if ((st1==i)&&(x<0)) {suma1=x;
if (suma<suma1)
{dr=i;
suma=suma1;
st=st1;
}
suma1=0;
st1=i+1;
}
else
if (i==n)
{
if ((x<0)&&(st<i))
{
if (suma1>suma) {suma=suma1;
dr=i-1;
st1=st;
st=i;
}
if (x>suma) {suma=x;
st1=st;
dr=i;
}
}
else
{
suma1=suma1+x;
if (suma1>suma) {suma=suma1;
st=st1;
dr=i;
}
}
}
else
{ suma1=suma1+x;
if (suma1<0)
{
if (x>suma) {suma=x;
st=i;
dr=i;
}
suma1=0;
st1=i+1;
}
else
if (suma1>suma) {suma=suma1;
dr=i;
st=st1;
}
}
}
printf ("%ld %ld %ld",suma,st,dr);
fcloseall();
return 0;
}