求助大佬!!

P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪

@[yunyi2010](/user/1264860) ```cpp #include<bits/stdc++.h> using namespace std; long long m[100],t[100],M=1,w[100],x,X,n[100],y; void ny(long long a,long long b,long long &x,long long &y) { if(b==0) { x=1,y=0; return ; } ny(b,a%b,x,y); long long ta=x,tb=y; x=tb; y=ta-a/b*tb; } signed main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>m[i]>>t[i]; M=M*m[i]; } for(int i=1;i<=n;i++) { w[i]=M/m[i]; } for(int i=1;i<=n;i++) { ny(w[i],m[i],x,y);//是w[i]在m[i]下的逆元,不是t[i] X=(X+(t[i]*w[i]*x)%M+M)%M;//会爆long long啊 } cout<<X%M; return 0; } ```
by kevinZ99 @ 2024-02-17 16:37:15


|