萌新求助 CRT WA on #2

P3868 [TJOI2009] 猜数字

@[Eternal蒟蒻](/user/398190) A 了 ```cpp #include<iostream> #include<cmath> #define ll long long using namespace std; ll exgcd(ll a,ll b,ll &x,ll &y){ if(b==0){ x=1,y=0; return a; } ll d=exgcd(b,a%b,y,x); y-=a/b*x; return d; } ll mul(ll a,ll b,ll p){ ll ans=0; while(b){ if(b&1)ans=(ans+a)%p; a=a*2%p; b>>=1; } return ans; } int n; ll m[20],aa[20],inv[20],M[20],t[20]; ll MM=1,y,x; int main(){ cin>>n; for(int i=1;i<=n;++i) cin>>aa[i];//为啥abs for(int i=1;i<=n;++i){ cin>>m[i]; aa[i]=(aa[i]%m[i]+m[i])%m[i]; MM*=m[i]; } for(int i=1;i<=n;++i){ M[i]=MM/m[i]; exgcd(M[i],m[i],t[i],y); t[i]=(m[i]+t[i]%m[i])%m[i]; aa[i]=(m[i]+aa[i]%m[i])%m[i]; for(int j=1;j<=aa[i];++j) x=(x+mul(M[i],t[i],MM))%MM; } cout<<x%MM; } ```
by 天南星魔芋 @ 2022-06-18 10:24:18


@[天南星魔芋](/user/399239) 谢谢,过了,但是 $a[i]$ 可能是负数啊
by Celestial_Intertwine @ 2022-06-18 10:26:15


@[Eternal蒟蒻](/user/398190) `aa[i]=(aa[i]%m[i]+m[i])%m[i];`
by 天南星魔芋 @ 2022-06-18 10:26:37


@[天南星魔芋](/user/399239) 哦,wssb
by Celestial_Intertwine @ 2022-06-18 10:27:23


头像好评
by wasm @ 2022-06-18 10:44:22


|