Pagini recente » Cod sursa (job #2667515) | Cod sursa (job #109424) | Cod sursa (job #2938190) | Cod sursa (job #473611) | Cod sursa (job #2933738)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int coada[5000001],v[5000001];
int main(){
int n,k,inc=0,sf=0,i,s=0;
fin>>n>>k;
v[0]=-10000000;
for (i=1;i<=n;i++){
fin>>v[i];
if (i<k){
while (v[i]<v[coada[sf]]&&sf>=inc)
sf--;
coada[++sf]=i;
}
else {
if (i-k>=coada[inc])
inc++;
while (v[i]<v[coada[sf]]&&sf>=inc)
sf--;
coada[++sf]=i;
s+=v[coada[inc]];
}
}
fout<<s;
return 0;
}