Pagini recente » Cod sursa (job #1246688) | Istoria paginii runda/road_to_ioi_4/clasament | Cod sursa (job #278906) | Cod sursa (job #1770159) | Cod sursa (job #1882876)
#include <cstdio>
#define MAXN 5000000
int sir[MAXN],dq[MAXN];
long long s;
int main()
{
FILE *fin,*fout;
fin=fopen("deque.in","r");
fout=fopen("deque.out","w");
int i,n,k,inc,sf;
fscanf(fin,"%d%d",&n,&k);
inc=sf=0;
for(i=0;i<n;i++)
{
fscanf(fin,"%d",&sir[i]);
while(inc<sf && sir[i]<sir[dq[sf-1]])
sf--;
dq[sf++]=i;
if(dq[inc]==i-k)
inc++;
if(i>=k-1)
s+=sir[dq[inc]];
}
fprintf(fout,"%lld",s);
fclose(fin);
fclose(fout);
return 0;
}