Pagini recente » Cod sursa (job #3290943) | Cod sursa (job #2371366) | Cod sursa (job #2464706) | Cod sursa (job #2877219) | Cod sursa (job #2727615)
#include <iostream>
#include <fstream>
using namespace std;
int Deq[5000001],poz[5000001];
ifstream f("deque.in");
ofstream g("deque.out");
int main(){
int n,k;
f>>n>>k;
int fr=0, bk=-1;
long long sum=0;
for(int i=0;i<n;++i){
f>>Deq[i];
if(fr<=bk && poz[fr]==i-k)
++fr;
while(fr<=bk&&Deq[i]<=Deq[poz[bk]])
--bk;
poz[++bk]=i;
if(i>=k-1)
sum+=Deq[poz[fr]];
}
g << sum ;
return 0;
}