Pagini recente » Cod sursa (job #961133) | Cod sursa (job #791760) | Rating Ka Tamas (kasz.ta) | Monitorul de evaluare | Cod sursa (job #672550)
Cod sursa(job #672550)
#include<stdio.h>
int n,m,k,i,j,s;
struct dque
{
int x,y;
};
dque q[5000001];
int b[5000001];
void deque()
{
int i,min,u=0,p=1;
for(i=1;i<=n;i++)
{
if(b[i]>q[u].x)
{
q[++u].x=b[i];
q[u].y=i;
}
else
{
while(b[i]<=q[u].x&&u>=1)
{
q[u].x=0;
q[u].y=0;
u--;
}
q[++u].x=b[i];
q[u].y=i;
}
if(q[u].y-q[p].y>=k)
p++;
min=q[p].x;
if(i>=k)
s+=min;
}
}
int main()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
deque();
printf("%d\n",s);
return 0;
}