Pagini recente » Cod sursa (job #677174) | Cod sursa (job #52462) | Cod sursa (job #1496269) | Cod sursa (job #2731156) | Cod sursa (job #561634)
Cod sursa(job #561634)
#include<stdio.h>
#include<fstream>
#include<limits.h>
using namespace std;
#define nrn 50001
#define minf INT_MIN
int deq[500002];
int main()
{
int v[500002],rt,lf,n,k,i;
long long s=0;
ifstream in("deque.in");
ofstream out("deque.out");
//freopen("deque.in","r",stdin);
//freopen("deque.out","w",stdout);
//scanf("%d%d",&n,&k);
in>>n>>k;
rt=0;
lf=1;
v[0]=minf;
for(i=1;i<=n;++i)
{
//scanf("%d",&v[i]);
in>>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);
out<<s<<'\n';
return 0;
}