Pagini recente » Cod sursa (job #514487) | Cod sursa (job #1868128) | Cod sursa (job #603643) | Cod sursa (job #786493) | Cod sursa (job #3128443)
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
int main() {
ifstream f("deque.in");
int n,k;
f>>n>>k;
vector<int>v;
for(int i=0;i<n;i++)
{
int a;
f>>a;
v.push_back(a);
}
deque<int> deque1;
int sum = 0;
for (int i = 0; i < v.size(); i++) {
while (!deque1.empty() && v[deque1.back()] >= v[i]) {
deque1.pop_back();
}
deque1.push_back(i);
if (!deque1.empty() && deque1.front() <= i-k) {
deque1.pop_front();
}
if (i>=k-1) {
sum+=v[deque1.front()];
}
}
ofstream g("deque.out");
g<<sum;
f.close();
g.close();
return 0;
}