結果
| 問題 |
No.3022 一元一次式 mod 1000000000
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-02-14 22:25:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 573 bytes |
| コンパイル時間 | 166 ms |
| コンパイル使用メモリ | 82,396 KB |
| 実行使用メモリ | 77,860 KB |
| 最終ジャッジ日時 | 2025-02-14 22:26:03 |
| 合計ジャッジ時間 | 2,674 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 WA * 1 |
ソースコード
# https://atcoder.jp/contests/abc186/tasks/abc186_e
from math import gcd
T = int(input())
for _ in range(T):
N, M = map(int, input().split())
MOD = 10 ** 9
if M % MOD == 0:
print(1 if N % MOD == 0 else -1)
continue
N %= MOD
M %= MOD
# g = gcd(gcd(N, MOD), M)
# N //= g
# M //= g
# MOD //= g
N, S, K = MOD, M, N
g = gcd(K, N)
if S % g:
print(-1)
else:
N //= g
S //= g
K //= g
# ans = -S * K^-1 (mod N)
ans = (N - S * pow(K, -1, N)) % N
print(ans)