Cod sursa(job #366693)
Utilizator | Data | 22 noiembrie 2009 10:22:44 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include "stdio.h"
int main()
{
long N,S,Max,Min,p1=1,p2=1,i,x,Minim,p3=1;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%Ld",&N);
/*printf("%Ld\n",N);*/
scanf("%Ld",&S);
Max=Min=Minim=S;
/*printf("%Ld %Ld %Ld %Ld %Ld\n",S,S,Max,Min,Minim);*/
for( i=2; i<=N; i++)
{
scanf("%Ld",&x);
S+=x;
if(S>=Max)
{
Max=S;
p2=i;
Minim=Min;
p3=p1;
}
else if(S<Min)
{
Min=S;
p1=i;
}
/*printf("%Ld %Ld %Ld %Ld %Ld\n",x,S,Max,Min,Minim);*/
}
printf("%Ld %Ld %Ld\n",Max-Minim,p3+1,p2);
return 0;
}