Pagini recente » Cod sursa (job #141844) | Cod sursa (job #1969939) | Cod sursa (job #1566043) | Cod sursa (job #2367719) | Cod sursa (job #2596564)
#include <bits/stdc++.h>
using namespace std;
deque <pair <long long, long long>> dq;
int main () {
ifstream fin ("deque.in");
ofstream fout ("deque.out");
long long n, k, x, i;
fin >> n >> k
>> x;
dq.push_front(make_pair(x, 1));
for (i=2; i<=k; i++) {
fin >> x;
while (!dq.empty() && x<dq.back().first)
dq.pop_back();
dq.push_back(make_pair(x, i));
}
long long s=dq.front().first;
for (; i<=n; i++) {
if (dq.front().second+k<=i)
dq.pop_front();
fin >> x;
while (!dq.empty() && x<dq.back().first)
dq.pop_back();
dq.push_back(make_pair(x, i));
s+=dq.front().first;
}
fout << s;
return 0;
}