Pagini recente » Cod sursa (job #242388) | Cod sursa (job #2424227) | Cod sursa (job #1495880) | Cod sursa (job #779199) | Cod sursa (job #1075756)
#include <cstdio>
using namespace std;
int s,a[5000004],b[5000004],i,j,p,x,k,n;
int main()
{
freopen ("deque.in","r",stdin);
freopen ("deque.out","w",stdout);
scanf ("%d %d", &n, &k);
p=1;
for (i=1;i<=n;i++)
{
scanf ("%d", &x);
if (i>1)
{
if (a[p]<i-2)
p++;
for (j=k+p-1;j>=p;j--)
{
if (x<=b[j])
{
a[j]=0;
b[j]=0;
}
else if (b[j]!=0)
{
a[j+1]=i;
b[j+1]=x;
break;
}
}
if (j==p-1)
{
a[j+1]=i;
b[j+1]=x;
}
if (i>=3)
s+=b[p];
}
else
{
a[1]=i;
b[i]=x;
}
}
printf ("%d", s);
return 0;
}