結果
| 問題 | No.3022 一元一次式 mod 1000000000 |
| コンテスト | |
| ユーザー |
detteiuu
|
| 提出日時 | 2025-02-14 22:49:21 |
| 言語 | PyPy3 (8.0.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 433 ms / 2,000 ms |
| + 552µs | |
| コード長 | 427 bytes |
| 記録 | |
| コンパイル時間 | 357 ms |
| コンパイル使用メモリ | 64,584 KB |
| 実行使用メモリ | 60,464 KB |
| 最終ジャッジ日時 | 2026-10-23 12:50:59 |
| 合計ジャッジ時間 | 3,495 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge5_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 |
ソースコード
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