Pagini recente » Cod sursa (job #447522) | Cod sursa (job #2552045) | Cod sursa (job #447534) | Cod sursa (job #447537) | Cod sursa (job #2027554)
#include <iostream>
#include <fstream>
#include <deque>
#define ll long long
#define ull unsigned long long
#define pb push_back
#define mp make_pair
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
const int NMax = 2e5 + 5;
const int inf = 1e9 + 5;
using zint = short;
int N,K;
int main() {
in>>N>>K;
deque< pair<int,int> > dq;
ll ans = 0;
for (int i=1;i <= N;++i) {
int val;
in>>val;
while (dq.size() && dq.back().first >= val) {
dq.pop_back();
}
dq.push_back( mp(val,i) );
if (dq.front().second == i-K) {
dq.pop_front();
}
if (i >= K) {
ans += dq.front().first;
}
}
out<<ans<<'\n';
in.close();out.close();
return 0;
}