Pagini recente » Cod sursa (job #684251) | Cod sursa (job #258108)
Cod sursa(job #258108)
#include<stdio.h>
#define A 5000020
#define N 5000020
int v[N],deq[A],k,n,u,p;
int s;
void dreapta(int i)
{
while(u!=p && v[deq[u-1]]>=v[i])
--u;
deq[u++]=i;
}
void stanga(int i)
{
if(i-deq[p]>=k)
++p;
}
void solve()
{
for(int i=k+1;i<=n;++i)
{
stanga(i);
dreapta(i);
s+=v[deq[p]];
}
}
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
deq[u++]=1;
for(int i=2;i<=k;++i)
dreapta(i);
s=v[deq[p]];
solve();
printf("%d",s);
return 0;
}