Mai intai trebuie sa te autentifici.
Cod sursa(job #398436)
Utilizator | Data | 18 februarie 2010 18:05:05 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 60 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
long a;
long n,i,best,kezd,veg;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%ld\n",&n);
long r[n+10],k[n+10];
best=0;
r[0]=0;
k[0]=0;
for(i=1;i<=n;++i)
{
scanf("%ld ",&a);
if(r[i-1]+a>a) {r[i]=r[i-1]+a; k[i]=k[i-1]; }
else {r[i]=a; k[i]=i; }
if(r[i]>best) {best=r[i]; kezd=k[i]; veg=i; }
}
printf("%ld %ld %ld",best,kezd,veg);
return 0;
}