Cod sursa(job #120394)
| Utilizator | Data | 5 ianuarie 2008 12:50:22 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
# include <stdio.h>
int main(){
int i,max,a,b,p,s,n,k,v[50000],sum[50000];
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d%d",&n,&k);
sum[0]=0;
for (i=1;i<=n;++i){
scanf("%d",&v[i]);
sum[i]=sum[i-1]+v[i];
}
max=s=sum[k];
p=a=1;b=k;
for(i=k+1;i<=n;++i){
if(s<sum[i-1]-sum[i-k]){
p=i-k+1;
s=sum[i]-sum[i-k];
}
else
s+=v[i];
if(s>max){
max=s;
a=p;
b=i;
}
}
printf("%d %d %d\n",a,b,max);
return 0;
}
