Pagini recente » Cod sursa (job #3283998) | Cod sursa (job #1305817) | Cod sursa (job #1752771) | Cod sursa (job #685134) | Cod sursa (job #2933750)
#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;
long long s=0;
fin>>n>>k;
v[0]=-10000001;
for (i=1;i<=n;i++){
fin>>v[i];
if (i<k){
while (v[i]<v[coada[sf]]&&inc<=sf)
sf--;
coada[++sf]=i;
}
else {
if (i-k>=coada[inc])
inc++;
while (v[i]<v[coada[sf]]&&inc<=sf)
sf--;
coada[++sf]=i;
s+=v[coada[inc]];
}
}
fout<<s;
return 0;
}