Pagini recente » Cod sursa (job #2828240) | Cod sursa (job #1312778) | Cod sursa (job #2301850) | Cod sursa (job #3240991) | Cod sursa (job #2299254)
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
ifstream si("deque.in");
ofstream so("deque.out");
deque<int> v,p;
int main() {
int n,k;
si>>n>>k;
for(int i=0; i<k; ++i) {
int a;
si>>a;
while(v.size()>0&&v.back()>a) {
v.pop_back();
p.pop_back();
}
v.push_back(a);
p.push_back(i);
}
long long s;
s=1LL*v.front();
for(int i=k; i<n; ++i) {
int a;
si>>a;
while(v.size()>0&&v.back()>a)
{
v.pop_back();
p.pop_back();
}
v.push_back(a);
p.push_back(i);
if(p.front()==i-k)
{
p.pop_front();
v.pop_front();
}
s=s+1LL*v.front();
}
so<<s<<'\n';
return 0;
}