Pagini recente » Cod sursa (job #221709) | Cod sursa (job #2625688) | Cod sursa (job #631063) | Cod sursa (job #977212) | Cod sursa (job #791700)
Cod sursa(job #791700)
#include<iostream>
#include<cstdio>
#define max 5000010
using namespace std;
long n,k,x,y,front,back;
long deque[max],vect[max];
long long s=0;
int main(){
FILE *f=fopen("deque.in","r");
FILE *g=fopen("deque.out","w");
fscanf(f,"%ld",&n);
fscanf(f,"%ld",&k);
front=1;
back=0;
for(long i=1;i<=n;i++){
fscanf(f,"%ld",&x);
vect[i]=x;
while(front<=back && deque[back]>x)
back--;
deque[++back]=x;
if(i>k && deque[front]==vect[i-k])
front++;
if(i>=k)
s+=deque[front];
}
fprintf(g,"%lld\n",s);
return 0;
}