Pagini recente » Cod sursa (job #2712437) | Cod sursa (job #2712434) | Cod sursa (job #2856504) | Cod sursa (job #675599) | Cod sursa (job #3350210)
#include <iostream>
#include <queue>
#include <fstream>
#include <cstring>
#include <stack>
#define N_MAX 5000005
#define MOD 666013
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int n,k;
int main()
{
in >> n >> k;
int el;
long long sum=0;
deque<pair<int,int>> d;
for (int i = 0; i < n; i++) {
in >> el;
while (!d.empty() && d.back().first >= el) {
d.pop_back();
}
d.push_back({ el, i});
if (i < k-1)continue;
while (!d.empty() && d.front().second < i - k + 1) {
d.pop_front();
}
int minim = d.front().first;
sum += minim;
}
out << sum;
return 0;
}