萌新刚学OI,WA on #7 求助

P3868 [TJOI2009] 猜数字

悬1关
by HAM_qwq @ 2024-04-06 14:57:12


@[HAM_qwq](/user/735763) 快%快%
by _xltx2012_ @ 2024-04-06 15:15:09


@[HAM_qwq](/user/735763) ```cpp #include<bits/stdc++.h> #define int long long using namespace std; int n; __int128 m=1,ans=0; int a[114514],b[114514]; __int128 M[114514],t[114514]; int exgcd(__int128 a,__int128 b,int &x,int &y){ if(!b){ x=1; y=0; return a; } int qwq=exgcd(b,a%b,x,y); int z=x; x=y; y=z-y*(a/b); return qwq; } void write(__int128 x){ if(!x) return ; write(x/10); putchar(x%10+'0'); return ; } signed main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) cin>>b[i]; for(int i=1;i<=n;i++) m*=b[i]; for(int i=1;i<=n;i++){ M[i]=m/b[i]; int x,y; exgcd(M[i],b[i],x,y); ans+=(a[i]%m*M[i]%m*(x<0?x+b[i]:x)%m+m)%m; ans%=m; } cout<<(long long)(ans%m); return 0; } ~~~
by tssys @ 2024-04-06 15:21:16


|