void ins(int &i,int l,int r,int p,int k){
//if(l>r) return;
//bool change=0;
printf("%d\n",i);
if(!i){
i=++tot;//change=1;
t[i].l=l;t[i].r=r;t[i].mid=(l+r)>>1;
t[i].lc=t[i].rc=0;t[i].val=INF;
}
printf(" %d\n",i);
//printf("%d(%d) [%d,%d](%d,%d){%d} (%d,%d)\n",i,change,l,r,t[i].l,t[i].r,t[i].mid,p,k);200885
if(p==t[i].l&&t[i].r==p){
t[i].val=k;
return;
}
if(p<=t[i].mid) ins(lc(i),l,t[i].mid,p,k);
if(t[i].mid+1<=p) ins(rc(i),t[i].mid+1,r,p,k);
pushup(i);
}
给t[200886].lc和t[200886].rc赋值就会卡那不动