Pagini recente » Cod sursa (job #453576) | Cod sursa (job #1778025) | Cod sursa (job #1982845) | Cod sursa (job #2618940) | Cod sursa (job #876906)
Cod sursa(job #876906)
#include<fstream>
#include<iostream>
using namespace std;
#define Max 5000005
ifstream fin("deque.in");
ofstream fout("deque.out");
int L=1,R=0,N,K,V[Max],D[Max];
long long Sol;
int main(){
fin>>N>>K;
for(int i=1;i<=N;i++){
fin>>V[i];
}
for(int i=1;i<=N;i++){
D[++R]=i;
if(i-K>=D[L]){
L++;
}
while(L<R && V[D[R]]<=V[D[R-1]]){
D[R-1]=D[R],R--;
}
if(i>=K)
Sol+=V[D[L]];
}
fout<<Sol<<"\n";
return 0;
}