結果
| 問題 | No.3022 一元一次式 mod 1000000000 |
| コンテスト | |
| ユーザー |
detteiuu
|
| 提出日時 | 2025-02-14 22:49:21 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 290 ms / 2,000 ms |
| コード長 | 427 bytes |
| 記録 | |
| コンパイル時間 | 247 ms |
| コンパイル使用メモリ | 85,120 KB |
| 実行使用メモリ | 81,664 KB |
| 最終ジャッジ日時 | 2026-07-02 19:47:20 |
| 合計ジャッジ時間 | 2,526 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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