__gcd(build(l,mid,x*2),build(mid+1,r,x*2+1));
中的两个调用会反过来。
先执行
build(mid+1,r,x*2+1)
后执行
build(l,mid,x*2)
并且建议打cin加速