Pagini recente » Cod sursa (job #2704330) | Cod sursa (job #2420341) | Cod sursa (job #1195114) | Cod sursa (job #1199458) | Cod sursa (job #2899194)
#include <fstream>
#include <deque>
#define MAX 100010
using namespace std;
deque<int> deck;
void push(int x){
if(deck.empty() or deck.back() <= x)
deck.push_back(x);
else{
deck.pop_back();
push(x);
}
}
int main(){
ifstream fin;
ofstream fout;
fin.open("deque.in");
fout.open("deque.out");
int k, n, q, a, b;
int v[MAX];
int sum = 0;
fin >> n >> k;
for(int i=0; i < k; ++i){
fin >> v[i];
push(v[i]);
}
for(int i=k; i < n; ++i){
fin >> v[i];
sum += deck.front();
if(v[i - k] == deck.front())
deck.pop_front();
push(v[i]);
}
fout << sum + deck.front();
}