Pagini recente » Cod sursa (job #283691) | Cod sursa (job #156075) | Cod sursa (job #1798081) | Cod sursa (job #1192989) | Cod sursa (job #561636)
Cod sursa(job #561636)
#include<stdio.h>
#include<fstream>
#include<limits.h>
using namespace std;
#define minf INT_MIN
int deq[5000002];
int v[5000002];
int main()
{
long long s=0;
int n,k,i,lf,rt;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
rt=0;
lf=1;
v[0]=minf;
for(i=1;i<=n;++i)
{
scanf("%d",&v[i]);
while(lf<=rt&&v[deq[rt]]>v[i])
--rt;
deq[++rt]=i;
if(deq[lf]<=i-k)
++lf;
if(i>=k)
s+=v[deq[lf]];
}
printf("%lld\n",s);
return 0;
}