Pagini recente » Borderou de evaluare (job #1036646) | Cod sursa (job #1761352) | Cod sursa (job #786949) | Cod sursa (job #1924461) | Cod sursa (job #2036095)
#include <stdio.h>
#include <stdlib.h>
int v[5000000][2];
int main()
{
int n,k,q=2000000000,poz,first=0,i;
long long s=0;
FILE*fi,*fo;
fi=fopen("deque.in","r");
fo=fopen("deque.out","w");
fscanf(fi,"%d%d",&n,&k);
for(i=0; i<n; i++)
{
fscanf(fi,"%d",&q);
if(i==0)
poz=0;
else
{
while(v[poz-1][0]>=q)
poz--;
}
v[poz][0]=q;
v[poz][1]=i;
poz++;
if(i-v[first][1]==k)
first++;
if(i+1>=k)
s+=v[first][0];
}
fprintf(fo,"%lld",s);
fclose(fi);
fclose(fo);
return 0;
}