Pagini recente » Cod sursa (job #2025893) | Cod sursa (job #461757) | Cod sursa (job #2255384) | Cod sursa (job #1071591) | Cod sursa (job #1759533)
#include <fstream>
#include <deque>
using namespace std;
int n, k;
//position and value
deque<pair<int, int>> d;
int main() {
ifstream in("deque.in");
ofstream out("deque.out");
in >> n >> k;
long long sol = 0, value;
for (int i = 0; i < n; i++) {
in >> value;
while (!d.empty() && value < d.back().second)
d.pop_back();
d.push_back(make_pair(i, value));
if (i - d.front().first == k)
d.pop_front();
if (i >= k - 1)
sol += d.front().second;
}
out << sol;
return 0;
}