結果
| 問題 |
No.187 中華風 (Hard)
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2025-02-12 03:01:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 847 bytes |
| コンパイル時間 | 274 ms |
| コンパイル使用メモリ | 82,368 KB |
| 実行使用メモリ | 78,736 KB |
| 最終ジャッジ日時 | 2025-02-12 03:01:12 |
| 合計ジャッジ時間 | 4,003 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 5 WA * 9 RE * 11 |
ソースコード
def modulo(x, y):
return (x % y + y) % y
def floor(x, y):
r = modulo(x, y)
return (x - r) // y
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, modulo(a, b))
def ext_gcd(a, b):
if b == 0:
return a, 1, 0
else:
g, x, y = ext_gcd(b, modulo(a, b))
return g, y, x - floor(a, b) * y
def crt(ss):
r = 0
m = 1
for bi, mi in ss:
g, p, _ = ext_gcd(m, mi)
if (bi - r) % g != 0:
return -1, -1
t = modulo(floor(bi - r, g) * p, floor(mi, g))
r = r + m * t
m = floor(m * mi, g)
r = modulo(r, m)
return r, m
def main():
n = int(input())
rs = []
for _ in range(n):
rs.append(list(map(int, input().split())))
ans, _ = crt(rs)
print(ans)
if __name__ == "__main__":
main()