Pagini recente » Cod sursa (job #211020) | Cod sursa (job #1561379) | Cod sursa (job #2895835) | Cod sursa (job #481453) | Cod sursa (job #1294226)
#include <cstdio>
#define MAX 5000000
using namespace std;
int dq[MAX+1],v[MAX];
int main()
{
FILE *fin,*fout;
fin=fopen("deque.in","r");
fout=fopen("deque.out","w");
int n,k,i,init=1,vf=0;
long long sum=0;
fscanf(fin,"%d%d",&n,&k);
for(i=1; i<=n; i++)
{
fscanf(fin,"%d",&v[i]);
if(i-dq[init]== k)
{
init++;
}
while(init<=vf && v[i]<=v[dq[vf]])
vf--;
dq[++vf]=i;
if(i>=k)
sum+=v[dq[init]];
}
fprintf(fout,"%d",sum);
return 0;
}