Pagini recente » Argumentatia | Cod sursa (job #2647565) | Cod sursa (job #975782) | Cod sursa (job #590491) | Cod sursa (job #2673173)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
deque< pair <int, int> > dq;
int main()
{
long long n,k,s=0;
f>>n>>k;
long long el;
for(int i=1;i<k;++i){
f>>el;
while(!dq.empty() && el<=dq.back().first){
dq.pop_back();
}
dq.push_back(make_pair(el, i));
}
for(int i=k;i<=n;++i){
f>>el;
while(!dq.empty() && el<=dq.back().first){
dq.pop_back();
}
dq.push_back(make_pair(el, i));
while(!dq.empty() && i-k>=dq.front().second){
dq.pop_front();
}
s+=dq.front().first;
cout<<dq.front().first<<" ";
}
g<<s;
return 0;
}