Pagini recente » Cod sursa (job #3030203) | Cod sursa (job #814237) | Cod sursa (job #643300) | Cod sursa (job #821190) | Cod sursa (job #917371)
Cod sursa(job #917371)
#include<stdio.h>
int N,K,a[50050],d[50050],ind1,ind2;
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",&a[i]);
a[i]=a[i]+a[i-1];
}
int f=1;
int b=0;
int ma=-25000*K;
for(int i=0;i<=N-K;++i)
{
while((f<=b)&&(a[i]<=a[d[b]]))
--b;
++b;
d[b]=i;
if(a[i+K]-a[d[f]]>ma)
{
ma=a[i+K]-a[d[f]];
ind1=d[f]+1;
ind2=i+K;
}
}
printf("%d %d %d",ind1,ind2,ma);
}