Pagini recente » Cod sursa (job #958818) | Cod sursa (job #474857) | Cod sursa (job #2792064) | Cod sursa (job #2861058) | Cod sursa (job #1051912)
#include <fstream>
using namespace std;
int main(){
ifstream f("deque.in");
ofstream g("deque.out");
int n,*v,*q,k,a = 0,b = -1;
long long s = 0;
f>>n>>k;
v = new int[n];
q = new int[n];
for(int i=0;i<n;++i)
f>>v[i];
for(int i=0;i<n;++i){
while(a<=b && v[i]<=v[q[b]])
--b;
q[++b] = i;
if(q[a] == i-k)
++a;
if(i >= k-1)
s += v[q[a]];
}
g<<s;
delete v;
delete q;
f.close();
g.close();
return 0;
}