Pagini recente » Cod sursa (job #3263779) | Cod sursa (job #3277264) | Cod sursa (job #103988) | Cod sursa (job #2110106) | Cod sursa (job #2758004)
#include <fstream>
#include <deque>
using namespace std;
int main(){
ifstream cin("deque.in");
ofstream cout("deque.out");
int N, K, current;
long long sum = 0;
cin >> N >> K;
deque<pair<int, int>> DEQ;
for(int i = 1; i <= N; ++i){
cin >> current;
while(!DEQ.empty() && current <= DEQ.back().first)
DEQ.pop_back();
while(!DEQ.empty() && DEQ.front().second <= i - K)
DEQ.pop_front();
DEQ.push_back(pair<int, int>(current, i));
if(i >= K)
sum += DEQ.front().first;
}
cout << sum;
cin.close();
cout.close();
return 0;
}