Pagini recente » Cod sursa (job #1890658) | Cod sursa (job #1774315) | Cod sursa (job #2797468) | Cod sursa (job #1636009) | Cod sursa (job #2670319)
#include <cstdio>
using namespace std;
FILE *fin=fopen("deque.in","r");
FILE *fout=fopen("deque.out","w");
int coada[5000001],v[5000001];
int main()
{
int n,k,inc,sf,i;
long long suma=0;
fscanf(fin,"%d%d%d",&n,&k,&v[1]);
inc=1;
sf=1;
coada[1]=1;
for(i=2;i<=n;i++)
{
fscanf(fin,"%d",&v[i]);
while(v[i]<v[coada[sf]]&&sf>=inc)
sf--;
sf++;
coada[sf]=i;
if(coada[inc]<i-k+1)
inc++;
if(i>=k)
suma+=v[coada[inc]];
}
fprintf(fout,"%lld",suma);
return 0;
}