Pagini recente » Cod sursa (job #2723162) | Cod sursa (job #528284) | Cod sursa (job #2290212) | Cod sursa (job #3281455) | Cod sursa (job #1677469)
#include <bits/stdc++.h>
using namespace std;
int A[5000002];
int N, K;
long long sum;
deque <int> D;
void add(int x){
while(!D.empty() && A[D.back()] >= A[x])
D.pop_back();
D.push_back(x);
while(x - D.front() + 1 > K) D.pop_front();
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
assert(freopen("deque.in", "r", stdin));
assert(freopen("deque.out", "w", stdout));
cin >> N >> K;
for(int i = 1; i <= N; i++) cin >> A[i];
for(int i = 1; i <= K; i++){
add(i);}
sum += A[D.front()];
for(int i = K+1; i <= N; i++){
add(i);
sum += A[D.front()];
}
cout << sum;
return 0;
}