Pagini recente » Rating Virlan Cristian Alexandru (Virlan_Cristian) | Cod sursa (job #2120240) | Cod sursa (job #1225220)
#include <iostream>
#include <deque>
#include <utility>
using namespace std;
int n, k, elem;
long long sum;
int main(){
freopen("deque.in", "r", stdin);
freopen("deque.out", "rw", stdout);
scanf("%d%d", &n, &k);
deque<pair<int, int>> dq;
for (int i = 0; i < n; i++){
scanf("%d", &elem);
if (i >= k){
sum += dq.front().first;
if (dq.front().second <= i - k){
dq.pop_front();
}
}
while (dq.size() && dq.back().first >= elem){
dq.pop_back();
}
dq.push_back(make_pair(elem, i));
}
printf("%ld\n", sum);
return 0;
}