Pagini recente » Cod sursa (job #1266751) | Cod sursa (job #1959534) | Cod sursa (job #2870599) | Cod sursa (job #180770) | Cod sursa (job #3124456)
#include <fstream>
#include <algorithm>
#include <queue>
#define ll long long
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
const int NMAX = 5e6;
int n, k;
ll a[NMAX + 1];
deque<ll> dq;
ll ans;
int main()
{
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> a[i];
for(int i = 1; i <= n; i++)
{
if(!dq.empty() && dq.back() < i - k + 1)
dq.pop_back();
while(!dq.empty() && a[dq.front()] > a[i])
dq.pop_front();
dq.push_front(i);
if(i >= k)
ans += a[dq.back()];
}
cout << ans;
return 0;
}