Pagini recente » Cod sursa (job #2464016) | Cod sursa (job #297332) | Cod sursa (job #2850278) | Cod sursa (job #3268143) | Cod sursa (job #2383508)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 5000000
deque <int> deck;
int v[NMAX+5];
int main(){
freopen("deque.in", "r", stdin);
freopen("deque.out", "w", stdout);
int n, k;
long long sum = 0;
scanf("%d%d", &n, &k);
for(int i = 1; i<=n; i++) scanf("%d", &v[i]);
for(int i = 1; i<=n; i++){
while((!deck.empty()) && v[i]<=v[deck.back()]) deck.pop_back();
deck.push_back(i);
if(deck.front() == i-k) deck.pop_front();
if(i>=k) sum+= v[deck.front()];
}
printf("%lld", sum);
}