本文共 786 字,大约阅读时间需要 2 分钟。
分明$excrt$就过了。
为什么还要仔细读题呢?
$qwq$
反正我没读题然后被卡$long \ long +$输出格式错$……$总共$WA$了四次
怕不是要退役……
上代码:
#include#include #include using namespace std;long long a[100010],r[100010];int n;long long exgcd(long long a,long long b,long long &x,long long &y){ if(b==0) return x=1,y=0,a; long long tmp=exgcd(b,a%b,y,x); y-=a/b*x; return tmp;}long long slove(){ long long M=a[1],R=r[1],x,y,d; for(int i=2;i<=n;i++) { d=exgcd(M,a[i],x,y); if((R-r[i])%d!=0) return -1; x=(R-r[i])/d*x%a[i]; R-=x*M; M=M/d*a[i]; R%=M; } return (R%M+M)%M;}int main(){ while(~scanf("%d",&n)) { for(int i=1;i<=n;i++) scanf("%lld%lld",&a[i],&r[i]); printf("%lld\n",slove()); } return 0;}
转载地址:http://rlxyl.baihongyu.com/