Pagini recente » Cod sursa (job #139497) | Cod sursa (job #3254365) | Cod sursa (job #260205) | Cod sursa (job #871459) | Cod sursa (job #1969466)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
using namespace std;
ifstream f("deque.in"); ofstream g("deque.out");
int n, st, dr, a[5000003], d[5000003], k; long long s;
int main() {
int i;
f>>n>>k;
st = 1;
dr = 0;
s = 0;
for(i = 1; i <= n; ++i) {
f>>a[i];
}
for(i = 1; i <=n; ++i) {
while(st <= dr && a[i] <= a[d[dr]] ) {
--dr;
}
++dr;
d[dr] = i;
if(i >= k) {
if(d[st] <= i - k) {
++st;
}
s += a[d[st]];
}
}
g<<s;
return 0;
}