Pagini recente » Cod sursa (job #1848523) | Cod sursa (job #2520813) | Cod sursa (job #1013202) | Cod sursa (job #2520771) | Cod sursa (job #959834)
Cod sursa(job #959834)
#include<fstream>
#include<deque>
using namespace std;
int main(){
int n, k, i, x;
freopen("deque.in", "rt", stdin);
//freopen("deque.out", "wt", stdout);
scanf("%d %d", &n, &k);
deque< pair<int, int> > dq;
long long sum =0;
for(i=0; i<n; i++){
scanf("%d", &x);
while(dq.size()>0 && (x<dq.back().first || dq.back().second+k-1<i))
dq.pop_back();
while(dq.size()>0 && dq.front().second+k-1<i)
dq.pop_front();
dq.push_back(make_pair(x,i));
if(i>=k-1)
sum+=dq.front().first;
}
printf("%lld\n", sum);
fclose(stdin);
fclose(stdout);
return 0;
}