Cod sursa(job #280262)
Utilizator | Carabet Cosmin Andrei cosmin79 | Data | 13 martie 2009 12:05:30 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,i,sc=0,smax=0,x,poz1,poz2;
//sc=cea mai mare suma obtinuta pe o secventa cu ultimul elem
//smax=cea mai mare suma obtinuta pana la momentul curent
scanf("%d",&n);
poz1=1;
smax=-1000000000;
for (i=1; i<=n; i++)
{
scanf("%d",&x);
sc+=x;
if (sc>smax)
{
smax=sc;
poz2=i;
}
if (sc<0)
{
sc=0;
poz1=i+1;
}
}
printf("%d %d %d",smax,poz1,poz2);
return 0;
}