Pagini recente » Cod sursa (job #612007) | Cod sursa (job #533459) | Cod sursa (job #1980512) | Cod sursa (job #580289) | Cod sursa (job #1047349)
#include <iostream>
#include <fstream>
using namespace std;
long long bc,fr,a[5000005],n,k,i,x,deq[5000005],s;
int main()
{
ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
for(i=1;i<=n;i++){
f>>a[i];
}
long long back=0,front=1;
for(i=1;i<=n;i++){
while(back>=front && a[i]<a[deq[back]]){
back--;
}
back++;
deq[back]=i;
//cout<<deq[front];
if(deq[front]==i-k){
front++;
}
if(i-k+1>0)
s+=a[deq[front]];
//cout<<a[deq[front]]<<" ";
//cout<<front<<" "<<back<<" "<<deq[front]<<" "<<deq[back]<<'\n';
}
g<<s;
return 0;
}