Pagini recente » Arhiva de probleme | asddsa | Arhiva de probleme | Cod sursa (job #1402045) | Cod sursa (job #1248085)
#include <cstdio>
using namespace std;
int v[5000001],d[5000001],sfarsit,ln=1;
int main()
{ freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
int n,k,i,sum=0;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{ scanf("%d",&v[i]);
if((i-k+1)>d[ln])
ln++;
while(v[i]<v[d[sfarsit]] && sfarsit>=ln)
sfarsit--;
d[sfarsit++]=i;
if(i>=k)
{ sum=sum+v[d[ln]];
}
}
printf("%d\n",sum);
return 0;
}