离散化后的数组b中,进行lower_bound应是
for(int i=1;i<=n;i++){ int x=lower_bound(b+1,b+size+1,a[i])-b; root[i]=update(root[i-1],1,size,x); }
而不是
for(int i=1;i<=n;i++){ int x=lower_bound(b+1,b+n+1,a[i])-b; root[i]=update(root[i-1],1,size,x); }