Pagini recente » Cod sursa (job #3181716) | Cod sursa (job #2248508) | Cod sursa (job #127236) | Cod sursa (job #717135) | Cod sursa (job #1831863)
#include <cstdio>
using namespace std;
int v[5000010],n,k,q[5000010];
int main()
{
FILE *f=fopen("deque.in","r");
fscanf(f,"%d%d",&n,&k);
int i,s=0;
for(i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
int cap=1,coada=0;
for(i=1;i<=n;i++)
{
while(cap<=coada && v[i]<=v[q[coada]]) coada--;
q[++coada]=i;
if(q[cap]==i-k) cap++;
if(i>=k) s+=v[q[cap]];
}
fclose(f);
f=fopen("deque.out","w");
fprintf(f,"%d",s);
return 0;
}