Pagini recente » Cod sursa (job #368070) | Cod sursa (job #1141804) | Cod sursa (job #2618165) | Cod sursa (job #1615416) | Cod sursa (job #2272982)
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cmath>
#include <fstream>
#include <deque>
using namespace std;
ofstream out("deque.out");
ifstream in("deque.in");
int n,k,x;
deque<pair<int,int> > a;
int main(){
in >> n >> k >> x;
a.push_front(make_pair(x,0));
for(int i=1;i<k;++i){
in >> 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){
in >> 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;
}
out << s;
}