Pagini recente » Cod sursa (job #2525934) | Cod sursa (job #1999292) | Cod sursa (job #2043006) | Cod sursa (job #3183808) | Cod sursa (job #2460139)
#include <iostream>
#include <fstream>
#include <deque>
#include <utility>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main()
{
deque<pair<int,int>> v;
int n, k, i, val, s = 0;
pair<int,int> x;
in >> n >> k;
for(i = 1; i <= n; i++)
{
in >> val;
x.first = val;
x.second = i;
while(!v.empty() && val <= v.back().first)
v.pop_back();
v.push_back(x);
if(v.front().second == i-k)
v.pop_front();
if(i >= k)
s += v.front().first;
//cout << val << ' ' << s << '\n';
}
out << s << '\n';
return 0;
}