Pagini recente » Cod sursa (job #1539269) | Cod sursa (job #1839064) | Cod sursa (job #861891) | Cod sursa (job #3286041) | Cod sursa (job #1598924)
#include <queue>
#include <fstream>
#include <vector>
using namespace std;
deque<int> D;
vector<int> v;
int n, k;
long long sum = 0;
int main() {
ifstream in("deque.in");
in >> n >> k;
v.resize(n);
for(int i = 0; i < n;++i)
in >> v[i];
for(int i = 0; i < n; ++i) {
while(!D.empty() && v[i] < v[D.front()])
D.pop_front();
D.push_front(i);
while(!D.empty() && D.back() < i - k + 1)
D.pop_back();
sum += v[D.back()];
}
ofstream out("deque.out");
out << sum << "\n";
return 0;
}