Pagini recente » Cod sursa (job #2757459) | Cod sursa (job #2945833) | Cod sursa (job #2330475) | Cod sursa (job #2478248) | 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;
}