Pagini recente » Cod sursa (job #1156249) | Cod sursa (job #3271271) | Cod sursa (job #2886144) | Cod sursa (job #42139) | Cod sursa (job #2634273)
#include <fstream>
#include <deque>
using namespace std;
int v[5000005];
int main() {
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, i, j, x;
long long s;
deque<int> dq;
fin >> n >> k;
for(i = 1; i <= n; ++i)
fin >> v[i];
for(i = 1; i <= k; ++i) {
while(!dq.empty()) {
if(v[i] >= dq.back())
break;
dq.pop_back();
}
dq.push_back(v[i]);
}
s = dq.front();
for(i = k + 1; i <= n; ++i) {
while(!dq.empty()) {
if(v[i] >= dq.back())
break;
dq.pop_back();
}
dq.push_back(v[i]);
if(dq.front() == v[i - k])
dq.pop_front();
s += dq.front();
}
fout << s;
}