Pagini recente » Cod sursa (job #1992688) | Cod sursa (job #1249796) | Istoria paginii runda/lh10-2 | Cod sursa (job #304243) | Cod sursa (job #3128195)
#include<fstream>
#include<deque>
using namespace std;
int main(){
int ssum=0,n,k;
int * A=new int[5000000];
deque<int> doubleq;
ifstream cin("deque.in");
ofstream cout("deque.out");
cin>>n>>k;
for( int i=0;i<n;i++){
cin>>A[i];
if(doubleq.size()&&doubleq.front()==i-k){
doubleq.pop_front();
}
while(doubleq.size()&&A[doubleq.back()]>A[i]){
doubleq.pop_back();
}
doubleq.push_back(i);
if(i>k-2){
ssum+=A[doubleq.front()];
}
}
cout<<ssum;
}