Pagini recente » Cod sursa (job #3192913) | Cod sursa (job #233867) | Cod sursa (job #3249320) | Cod sursa (job #2938658) | Cod sursa (job #928150)
Cod sursa(job #928150)
#include<cstdio>
int dq[5000100],k,n,st,dr,v[5000100],s;
void stanga(int i)
{
if(i-dq[st]==k)
st++;
}
void dreapta(int i)
{
while(st<=dr&&v[i]<=v[dq[dr]])
dr--;
}
int main()
{
int i;
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
}
for(i=1;i<=n;i++)
{
if(i>k)
stanga(i);
dreapta(i);
dq[++dr]=i;
if(i>=k)
s+=v[dq[st]];
}
printf("%d",s);
return 0;
}