Pagini recente » Cod sursa (job #2975224) | Cod sursa (job #3156267) | Cod sursa (job #1240204) | Cod sursa (job #2606463) | Cod sursa (job #2460141)
#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;
long long 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 = s + v.front().first;
//cout << val << ' ' << s << '\n';
}
out << s << '\n';
return 0;
}