Pagini recente » Cod sursa (job #2467089) | Cod sursa (job #2719340) | Cod sursa (job #817069) | Cod sursa (job #519549) | Cod sursa (job #2843095)
#include <cstdio>
using namespace std;
int d[5000005],v[5000005];
int main()
{
FILE *fin=fopen ("deque.in","r");
FILE *fout=fopen ("deque.out","w");
int n,k,i,p,u;
long long s=0;
fscanf (fin,"%d%d",&n,&k);
for (i=1;i<=n;i++)
fscanf (fin,"%d",&v[i]);
d[1]=1;
p=1;
u=1;
for (i=2;i<=n;i++){
while (p<=u && v[i]<=v[d[u]])
u--;
u++;
d[u]=i;
if (i-d[p]==k)
p++;
if (i>=k){
s+=v[d[p]];
//printf ("%d ",v[d[p]]);
}
}
fprintf (fout,"%lld",s);
return 0;
}