Pagini recente » Cod sursa (job #2510709) | Cod sursa (job #851682) | Cod sursa (job #1425807) | Cod sursa (job #2405983) | 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);
}