結果
| 問題 |
No.186 中華風 (Easy)
|
| コンテスト | |
| ユーザー |
judgelaw
|
| 提出日時 | 2024-05-30 22:37:16 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 738 bytes |
| コンパイル時間 | 439 ms |
| コンパイル使用メモリ | 12,544 KB |
| 実行使用メモリ | 10,752 KB |
| 最終ジャッジ日時 | 2024-12-20 21:40:34 |
| 合計ジャッジ時間 | 1,936 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 WA * 2 |
ソースコード
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)
print(CRT(X,Y)[0])
judgelaw