#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
long int n;
struct node *l,*r;
}node;
typedef node * tree;
tree maknod(long int d)
{
tree t;
t->n=d;
t->l=t->r=NULL;
return t;
}
tree ins(tree t,long int d)
{
if(t==NULL)
return maknod(d);
else if(t->n > d)
t->l=ins(t->l,d);
else
t->r=ins(t->r,d);
return t;
}
long int findmax(tree t)
{
if(t->r==NULL)
return (t->n);
findmax(t->r);
}
tree del(tree t,long int d)
{
if(t!=NULL)
{
if(t->n==d)
{
if(t->l==NULL && t->r==NULL)
return NULL;
if(t->l==NULL)
return t->r;
if(t->r==NULL)
return t->l;
t->n=findmax(t->l);
t->l=del(t->l,t->n);
}
if(t->n>d)
t->l=del(t->l,d);
if(t->n<d)
t->r=del(t->r,d);
}
return t;
}
long int print(tree t)
{
if(t->r==NULL)
return t->n;
print(t->r);
}
int main()
{
long int num,k,i;
tree t=NULL;
long int a[num];
for(i=0;i<num;i++)
for(i=0;i<k;i++)
{
t=ins(t,a[i]);
}
for(i=0;i<=num-k;i++)
{
if(i<num-k)
{
}
else
t=del(t,a[i]);
ins(t,a[i+k]);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CnR5cGVkZWYgc3RydWN0IG5vZGUKewoJbG9uZyBpbnQgbjsKCXN0cnVjdCBub2RlICpsLCpyOwp9bm9kZTsKdHlwZWRlZiBub2RlICogdHJlZTsKdHJlZSBtYWtub2QobG9uZyBpbnQgZCkKewoJdHJlZSB0OwoJdD0odHJlZSltYWxsb2Moc2l6ZW9mKHRyZWUpKTsKCXQtPm49ZDsKCXQtPmw9dC0+cj1OVUxMOwoJcmV0dXJuIHQ7Cn0KCnRyZWUgaW5zKHRyZWUgdCxsb25nIGludCBkKQp7CglpZih0PT1OVUxMKQoJcmV0dXJuIG1ha25vZChkKTsKCWVsc2UgaWYodC0+biA+IGQpCgl0LT5sPWlucyh0LT5sLGQpOwoJZWxzZSAKCXQtPnI9aW5zKHQtPnIsZCk7CglyZXR1cm4gdDsKfQpsb25nIGludCBmaW5kbWF4KHRyZWUgdCkKewoJaWYodC0+cj09TlVMTCkKCXJldHVybiAodC0+bik7CglmaW5kbWF4KHQtPnIpOwp9CnRyZWUgZGVsKHRyZWUgdCxsb25nIGludCBkKQp7CglpZih0IT1OVUxMKQoJewoJaWYodC0+bj09ZCkKCXsKCQlpZih0LT5sPT1OVUxMICYmIHQtPnI9PU5VTEwpCgkJcmV0dXJuIE5VTEw7CgkJaWYodC0+bD09TlVMTCkKCQlyZXR1cm4gdC0+cjsKCQlpZih0LT5yPT1OVUxMKQoJCXJldHVybiB0LT5sOwoJCXQtPm49ZmluZG1heCh0LT5sKTsKCQl0LT5sPWRlbCh0LT5sLHQtPm4pOwoJfQoJaWYodC0+bj5kKQoJdC0+bD1kZWwodC0+bCxkKTsKCWlmKHQtPm48ZCkKCXQtPnI9ZGVsKHQtPnIsZCk7Cn0KcmV0dXJuIHQ7Cn0KbG9uZyBpbnQgcHJpbnQodHJlZSB0KQp7CglpZih0LT5yPT1OVUxMKQoJcmV0dXJuIHQtPm47CglwcmludCh0LT5yKTsKfQppbnQgbWFpbigpCnsKbG9uZyBpbnQgbnVtLGssaTsKdHJlZSB0PU5VTEw7CnNjYW5mKCIlbGQgIiwmbnVtKTsKbG9uZyBpbnQgYVtudW1dOwpmb3IoaT0wO2k8bnVtO2krKykKc2NhbmYoIiVsZCIsJmFbaV0pOwpzY2FuZigiJWxkIiwmayk7CmZvcihpPTA7aTxrO2krKykKewoJdD1pbnModCxhW2ldKTsKfQpmb3IoaT0wO2k8PW51bS1rO2krKykKewppZihpPG51bS1rKQp7CnByaW50ZigiJWxkIixwcmludCh0KSk7CnByaW50ZigiICIpOwp9CmVsc2UKcHJpbnRmKCIlbGQiLHByaW50KHQpKTsKdD1kZWwodCxhW2ldKTsKaW5zKHQsYVtpK2tdKTsKfQpyZXR1cm4gMDsKfQ==