Pagini recente » Cod sursa (job #1456924) | Cod sursa (job #1857741) | Cod sursa (job #33909) | Cod sursa (job #2822428) | Cod sursa (job #839244)
Cod sursa(job #839244)
#include <stdio.h>
int n,k;
int deque[5000100];
int v[5000100];
int sum;
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
int st=1;
int dr=0;//dr<st => coada este vida
//v[deque[st]]=min
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
while(st<=dr&&v[i]<v[deque[dr]])
dr--;
deque[++dr]=i;
if(deque[st]<i-k+1)
st++;
if(i>=k)
sum+=v[deque[st]];
}
printf("%d",sum);
return 0;
}