Pagini recente » Cod sursa (job #2792436) | Cod sursa (job #2649513) | Cod sursa (job #3005107) | Cod sursa (job #2240475) | Cod sursa (job #1147526)
#include<iostream>
#include <fstream>
#include <deque>
#define mp make_pair
#define nr first
#define pos second
using namespace std;
int n, k;
long long int s=0;
deque<int> deq;
int v[500005];
int main(){
ifstream f("deque.in");
f>>n>>k;n=0;
while(f>>v[++n]);n--;
for(int i=1;i<=k;i++){
while(deq.size() && v[deq.back()]>=v[i])
deq.pop_back();
deq.push_back(i);
}
s+=v[deq.front()];
for(int i=k+1;i<=n;i++){
if(deq.front()==i-k)
deq.pop_front();
while(deq.size() && v[deq.back()]>=v[i])
deq.pop_back();
deq.push_back(i);
s+=v[deq.front()];
}
ofstream g("deque.out");
g<<s;
return 0;
}