Pagini recente » Cod sursa (job #1783084) | Cod sursa (job #1575345) | Cod sursa (job #2797620) | Cod sursa (job #711354) | Cod sursa (job #2741525)
//#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
typedef long long ll;
const int nMax = 5e6 + 5;
int n, k, v[nMax];
ll ans;
void read(){
cin >> n >> k;
for(int i = 1; i <= n; i++)
cin >> v[i];
}
void solve(){
deque <int> dq;
for(int i = 1; i <= n; i++){
while(!dq.empty() && i - dq.front() >= k)
dq.pop_front();
while(!dq.empty() && v[i] <= v[dq.back()])
dq.pop_back();
dq.push_back(i);
if(i >= k)
ans += v[dq.front()];
}
cout << ans;
}
int main()
{
read();
solve();
return 0;
}