Pagini recente » Cod sursa (job #2781414) | Cod sursa (job #1938306) | Cod sursa (job #490939) | Cod sursa (job #2893857) | Cod sursa (job #2932617)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("deque.in");
ofstream out("deque.out");
#define maxN 5000000
#define INF 10000000
int v[maxN+1];
int coada[maxN+1];
int main(){
int n,k,st=0,fn=0;
v[0]=-INF;
long long s=0;
in>>n>>k;
for(int i=1;i<=n;i++){
in>>v[i];
if(i<k){
while(v[i]<v[coada[fn]] && fn>=st){
fn--;
}
fn++;
coada[fn]=i;
}
else{
if(i-k>=coada[st]){
st++;
}
while(v[i]<v[coada[fn]] && fn>=st){
fn--;
}
fn++;
coada[fn]=i;
s+=v[coada[st]];
}
}
out<<s;
return 0;
}