Cod sursa(job #391221)
| Utilizator | Data | 5 februarie 2010 12:30:11 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 40 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
int n,k,sc,a,smax,imax,fmax,ii,sum[1<<16],i;
scanf("%d %d",&n,&k);
sc=0;
sum[0]=0;
smax=-(1<<30);
for(i=1;i<=n;i++)
{
scanf("%d",&a);
sum[i]=sum[i-1]+a;
if(i>=k && sum[i]-sum[i-k]>sc+a)
{
ii=i-k+1;
sc=sum[i]-sum[i-k];
}
else
sc+=a;
if (i>=k && sc>=smax)
{
smax=sc;
imax=ii;
fmax=i;
}
}
printf("%d %d %d",imax,fmax,smax);
return 0;
}