***但好用的线段树调试

void debug() {
    printf("debug\n");
    printf("               %d\n", e[1].mi);
    printf("       %d               %d\n", e[2].mi, e[3].mi );
    printf("   %d       %d       %d       %d\n", e[4].mi, e[5].mi, e[6].mi, e[7].mi );
    printf(" %d   %d   %d   %d   %d   %d   %d   %d\n", e[8].mi,
     e[9].mi, e[10].mi, e[11].mi, e[12].mi, e[13].mi, e[14].mi, e[15].mi);
}

二分

while(l<=r)
{
    int mid=(l+r)>>1;
    if(check(mid)) ans=mid,l=mid+1;
    else r=mid-1;
}