Pagini recente » Cod sursa (job #2181270) | Cod sursa (job #2001326) | Cod sursa (job #1078099) | Cod sursa (job #3350027) | Cod sursa (job #2677492)
#include <stdio.h>
#include <stdlib.h>
int v[5000000],p[5000000];
int main()
{
int n,k,i,st,dr,s,j,a;
FILE *fin, *fout;
fin=fopen("deque.in","r");
fscanf(fin,"%d%d",&n,&k);
st=0;
dr=0;
for(i=0;i<k;i++){
fscanf(fin,"%d",&a);
while(dr>st && a<v[dr-1])
dr--;
v[dr]=a;
p[dr]=i;
dr++;
for(j=st;j<dr;j++)
printf("%d ",v[j]);
printf("\n");
}
s=v[st];
for(;i<n;i++){
if(i-k>=p[st])
st++;
fscanf(fin,"%d",&a);
while(dr>st && a<v[dr-1])
dr--;
v[dr]=a;
p[dr]=i;
dr++;
s+=v[st];
for(j=st;j<dr;j++)
printf("%d ",v[j]);
printf("\n");
}
fclose(fin);
fout=fopen("deque.out","w");
fprintf(fout,"%d",s);
fclose(fout);
return 0;
}