Pagini recente » Cod sursa (job #3321643) | Cod sursa (job #1318933) | Monitorul de evaluare | Cod sursa (job #1318935) | Cod sursa (job #3312438)
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define ll long long
#define all(x) begin(x), end(x)
#define xx first
#define yy second
using pii = pair<int, int>;
#define cin fin
#define cout fout
ifstream cin ("deque.in");
ofstream cout ("deque.out");
int n, k;
int x, maxi = INT_MIN;
constexpr int NMAX = (int) 5e6;
int sp[NMAX + 1];
deque <int> dq;
signed main(void)
{
/**
ios_base::sync_with_stdio(false);
cin.tie(nullptr);**/
cin >> n >> k;
for (int i = 1; i <= n; ++ i)
{
cin >> sp[i];
}
ll w = 0;
for (int i = 1; i <= n; ++ i)
{
while (!dq.empty() && sp[dq.back()] >= sp[i])
dq.pop_back();
dq.push_back(i);
if (dq.front() == i - k)
dq.pop_front();
if (i >= k)
w += sp[dq.front()];
}
cout << w;
return 0;
}