#include<bits/stdc++.h>
using namespace std;
void exgcd(int n,int m,int &x,int &y){
if(!m) x=1,y=0;
else exgcd(m,n%m,y,x),y-=n/m*x;
}//这段抄的
int gcd(int x,int y){
return !y ? x:gcd(y,x%y);
}
int main(){
int n,m;int p=0,x;
scanf("%d",&n);
if(n%2==0){n--;p=1;}
int m1,m2,a1,a2;
scanf("%d%d%d%d",&m1,&a1,&m2,&a2);
int g=gcd(m,n);
int k1,k2,c;c=a2-a1;
exgcd(m1/g,m2/g,k1,k2);
k1*=c/gcd(m1,m2),k2*=c/gcd(m1,m2);
x=k1*m1+a1;
m=m1*m2;
for(int i=3;i<=n;++i){
k1=0,k2=0;
int k,m3,a3;
scanf("%d%d",&m3,&a3);
int g=gcd(m,m3);if(g<0)g=-g;
c=m3-x;
exgcd(6,5,k1,k2);
//exgcd(m/g,m3/g,k1,k2);
cout<<m<<" "<<m3<<" "<<g<<" "<<c<<" "<<k1<<" "<<k2;
k1*=c,k2*=c;
x=k2*n+a1;
m=m*n/g;
}
printf("%d",x);
return 0;
}
不知道哪里出问题了(知道就不来了)
求助各位大佬