Cod sursa(job #415397)
Utilizator | Biro Alexandru biro | Data | 11 martie 2010 11:35:43 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <stdio.h>
#define INF 2000000000-1
int n,nr,s,max=-INF,pi1,pi2,min,pf;
int main()
{
int i;
freopen ("ssm.in","r",stdin) ;
freopen ("ssm.out","w",stdout) ;
scanf("%d" , &n) ;
for (i=1 ; i<=n ; ++i)
{
scanf ("%d" , &nr) ;
s+=nr;
if(s-min>max)
{
max=s-min;
pi2=i;
pf=pi1;
}
if(min>s)
{
min=s;
pi1=i;
}
}
printf ("%d %d %d" , max , pf+1 , pi2) ;
return 0;
}