Pagini recente » Cod sursa (job #1109980) | Cod sursa (job #1818192) | Cod sursa (job #268580) | Cod sursa (job #3124619) | Cod sursa (job #2124114)
#include <iostream>
#include <fstream>
#define MAX 5000002
using namespace std;
int deq[MAX];
int v[MAX];
int main() {
ifstream in("deque.in");
ofstream out("deque.out");
int n;
int k;
in >> n;
in >> k;
long long sum = 0;
int top = 0;
int bottom = -1;
for(int i = 0; i < n; i ++) {
in >> v[i];
while(top <= bottom && v[ deq[bottom] ] >= v[i]) bottom--;
deq[++bottom] = i;
if(deq[top] <= i - k) {
top++;
}
if(i >= k - 1) {
sum += v[ deq[top] ];
}
}
out << sum ;
return 0;
}