Pagini recente » Cod sursa (job #690378) | Cod sursa (job #386266) | Cod sursa (job #2410385) | Cod sursa (job #1971651) | Cod sursa (job #2732463)
#include <iostream>
#include <fstream>
using namespace std;
int main(){
int i,n,k,varf=1,coada=0,elem[50000], poz[50000];
long long s=0;
ifstream f("deque.in");
ofstream g("deque.out");
f>>n>>k;
for (i=1;i<=n;i++)
f>>elem[i];
for (i=1;i<=n;i++){
while ((varf <= coada) && (elem[i] <= elem[poz[coada]]))
coada--;
poz[++coada] = i;
if (poz[varf] <= i-k)
varf++;
if (i >= k)
s += elem[poz[varf]];
}
g<<s;
return 0;
}