Pagini recente » Cod sursa (job #605455) | Cod sursa (job #487021) | Cod sursa (job #619583) | Cod sursa (job #2507555) | Cod sursa (job #1009865)
#include <stdio.h>
#include <queue>
#define ll long long
#define fr(i,a,b) for(int i=a;i<b;++i)
using namespace std;
deque<int>q;
void be(int i){
while(!q.empty()&&q.front()>i){
q.pop_front();
}
q.push_front(i);
}
int main(){
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,j;
scanf("%i %i",&n,&k);
ll s=0;
deque<int>o;
fr(i,0,k-1){
scanf("%i",&j);
be(j);
o.push_back(j);
}
fr(i,k-1,n){
scanf("%i",&j);
o.push_back(j);
be(j);
s+=q.back();
if(q.back()==o.front()) q.pop_back();
o.pop_front();
}
printf("%lli\n",s);
return 0;
}