Cod sursa(job #261012)
Utilizator | Data | 17 februarie 2009 20:06:30 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <stdio.h>
int N,inceput,sfarsit,i,j,max,sum,v[7000011],poz;
int main()
{
freopen("ssm.in","r",stdin);
scanf("%d",&N);
for (i=1;i<=N;++i)
scanf("%d", &v[i]);
max=0;
sum=0;
for (i=1;i<=N;++i)
{
if (sum>0)
sum+=v[i];
else
{
sum=v[i];
poz=i;
}
if (sum>max)
{
max=sum;
inceput=poz;
sfarsit=i;
}
}
freopen("ssm.out","w",stdout);
printf("%d %d %d", max,inceput,sfarsit);
return 0;
}