Cod sursa(job #280323)
Utilizator | Felix Liviu SheepBOY | Data | 13 martie 2009 12:24:57 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<stdio.h>
int main()
{
int s,f,ps,pf,n,i,aux,max,mmax;
//int best[60001];
//int strt[60001];
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
scanf("%d",&aux);
mmax=max=aux;
s=ps=0;
f=pf=0;
for(i=1;i<n;++i)
{
scanf("%d",&aux);
if(max+aux>=aux)
{
max+=aux;
pf=i;
}
else
{
max=aux;
ps=i;
pf=i;
}
if(mmax<=max)
{
mmax=max;
s=ps;
f=pf;
}
}
printf("%d %d %d",mmax,s+1,f+1);
return 0;
}