1 #include2 #include 3 #include 4 using namespace std; 5 typedef long long LL; 6 // 求x和y使得ax+by=d并且|x|+|y|最小。其中d=gcd(a,b) 7 void exgcd(LL a,LL b,LL& d,LL& x,LL& y){ 8 if(!b) d = a,x = 1,y = 0; 9 else{10 exgcd(b,a % b,d,y,x);11 y -= x * (a / b);12 }13 }14 // n个方程:x=a[i](mod m[i]) (0<=i