結果
| 問題 | No.3022 一元一次式 mod 1000000000 |
| コンテスト | |
| ユーザー |
detteiuu
|
| 提出日時 | 2025-02-14 22:49:21 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 419 ms / 2,000 ms |
| コード長 | 427 bytes |
| コンパイル時間 | 224 ms |
| コンパイル使用メモリ | 82,712 KB |
| 実行使用メモリ | 77,300 KB |
| 最終ジャッジ日時 | 2025-02-17 12:57:30 |
| 合計ジャッジ時間 | 2,864 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 21 |
ソースコード
from math import gcd, lcm
MOD = 10**9
def inverse(n, d, MOD):
return n * pow(d, -1, MOD) % MOD
for _ in range(int(input())):
N, M = map(int, input().split())
X = (-M)%MOD
if X == 0:
print(lcm(N, MOD)//N)
continue
GCD = gcd(N, MOD)
if X%GCD != 0:
print(-1)
continue
GCD = gcd(N, MOD, X)
n = N//GCD
m = MOD//GCD
x = X//GCD
print(inverse(x, n, m))
detteiuu