Pagini recente » Cod sursa (job #3359008) | Cod sursa (job #3313683) | Cod sursa (job #3313669) | Monitorul de evaluare | Cod sursa (job #2568629)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("deque.in");
ofstream fout("deque.out");
const int NMAX=5000005;
int N,K;
deque <int> dq;
int A[NMAX];
int main(){
fin>>N>>K;
for(int i=1;i<=N;++i){
fin>>A[i];
}
long long S=0;
for(int i=1;i<=N;++i){
while( dq.size() and A[i]<=A[dq.back()] )
dq.pop_back();
dq.push_back(i);
if(dq.front()==i-K) dq.pop_front();
if(i>=K) S+=A[dq.front()];
}
fout<<S;
}