結果
問題 | No.186 中華風 (Easy) |
ユーザー |
![]() |
提出日時 | 2024-05-30 22:41:26 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 765 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 24,256 KB |
最終ジャッジ日時 | 2024-12-20 21:40:57 |
合計ジャッジ時間 | 22,609 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 TLE * 6 |
ソースコード
import sys input = lambda: sys.stdin.readline().rstrip() # ax+by=gcd(a,b)を満たす # x,y,gcd(a,b)の組を求める def ext_gcd(a,b): if b==0:return 1,0,a d,m=divmod(a,b) x,y,g=ext_gcd(b,m) return y,x-d*y,g # x≡a1(mod m1) # x≡a2(mod m2) # ... # を満たすx(mod m)を求める # m=-1なら解なし def CRT(A,M): assert len(A)==len(M) N=len(A) rx,rm=0,1 for i in range(N): a,m=A[i],M[i] x,y,g=ext_gcd(rm,m) td,tm=divmod(a-rx,g) if tm:return -1,-1 m//=g temp=(td*x)%m rx+=rm*temp rm*=m return rx,rm X,Y=[],[] for _ in range(3): x,y=map(int,input().split()) X.append(x) Y.append(y) res,m=CRT(X,Y) while res<=0:res+=m print(res)