Pagini recente » Cod sursa (job #475519) | Cod sursa (job #2705103) | Cod sursa (job #2623116) | Cod sursa (job #1191459) | Cod sursa (job #2272910)
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cmath>
#include <deque>
using namespace std;
int n,k,x;
deque<pair<int,int> > a;
int main(){
freopen("deque.in" ,"r", stdin);
freopen("deque.out" ,"w", stdout);
cin >> n >> k >> x;
a.push_front(make_pair(x,0));
for(int i=1;i<k;++i){
cin >> x;
while(x <= a.back().first && !a.empty())
a.pop_back();
a.push_back(make_pair(x,i));
}
long long s = a.front().first;
for(int i=k;i<n;++i){
cin >> x;
while(x <= a.back().first && !a.empty())
a.pop_back();
a.push_back(make_pair(x,i));
if(a.front().second<i-k+1)
a.pop_front();
s+=a.front().first;
}
cout << s;
}