Pagini recente » Cod sursa (job #770721) | Cod sursa (job #767118) | Cod sursa (job #766921) | Cod sursa (job #2751191) | Cod sursa (job #1477607)
#include <cstdio>
#include <vector>
#include <deque>
#define f first
#define s second
using namespace std;
deque < pair <int, int> > D;
int N, K, X; long long S;
int main(){
freopen("deque.in" , "r", stdin );
freopen("deque.out", "w", stdout);
scanf("%d %d", &N, &K);
for(int i = 1; i <= N; i ++){
scanf("%d", &X);
while(!D.empty() && D.back().s >= X)
D.pop_back();
D.push_back( make_pair(i, X) );
if(i - D.front().f == K)
D.pop_front();
if(i >= K)
S += D.front().s;
}
printf("%lld", S);
fclose(stdin );
fclose(stdout);
return 0;
}