Pagini recente » Cod sursa (job #2242770) | Cod sursa (job #561059) | Cod sursa (job #2195072) | Cod sursa (job #968384) | Cod sursa (job #354813)
Cod sursa(job #354813)
#include<stdio.h>
int N,K,v[100000],x,st,dr,max=-10000001,ifin,jfin,dq[100000];
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d%d",&N,&K);
for(int i=1;i<=N;++i)
{
scanf("%d",&x);
v[i]=v[i-1]+x;
}
st=1;
dr=0;
for(int i=1;i<=N;++i)
{
while(st<=dr&&v[dq[dr]]>v[i])
--dr;
dq[++dr]=i;
if(v[i+K]-v[dq[st]]>max&&K+i<=N)
{
max=v[i+K]-v[dq[st]];
ifin=dq[st]+1;
jfin=i+K;
}
}
printf("%d %d %d",ifin,jfin,max);
return 0;
}