Pagini recente » Cod sursa (job #2771642) | Cod sursa (job #3283283)
#include <fstream>
using namespace std;
ifstream cin("deque.in");
ofstream cout("deque.out");
int v[5000001],coada[5000001];
int main(){
int inc=1,sf=1,i,k,n;
long long s=0;
cin>>n>>k;
for(i=1;i<=n;i++)
cin>>v[i];
coada[1]=1;
for(i=2;i<=k;i++){
while(v[i]<v[coada[sf]] && inc<=sf)
sf--;
sf++;
coada[sf]=i;
}
s+=v[coada[inc]];
for(;i<=n;i++){
if(coada[inc]<=i-k)
inc++;
while(v[i]<v[coada[sf]] && inc<=sf)
sf--;
sf++;
coada[sf]=i;
s+=v[coada[inc]];
}
cout<<s;
return 0;
}