Cod sursa(job #362844)
| Utilizator | Data | 11 noiembrie 2009 10:22:38 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 kb |
#include<stdio.h>
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
int p,a,b,k,n,v[1<<16],sc=0,sc1=0,scmax=0,s[1<<16];
scanf("%d %d",&n,&k);
s[0]=0;
for(int i=1;i<=n;++i)
{
scanf("%d",&v[i]);
s[i]=s[i-1]+v[i];
}
sc=scmax=s[k];
p=1;
a=1;
b=k;
for(int i=k+1;i<=n;++i)
{
if(sc+v[i]>s[i]-s[i-k])
{
sc=sc+v[i];
}
else
{
p=i-k+1;
sc=s[k]-s[i-k];
}
if(scmax<sc)
{
scmax=sc;
a=p;
b=i;
}
}
printf("%d %d %d\n",a,b,scmax);
return 0;
}