結果
問題 | No.3022 一元一次式 mod 1000000000 |
ユーザー |
|
提出日時 | 2025-02-14 22:52:15 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 414 ms / 2,000 ms |
コード長 | 540 bytes |
コンパイル時間 | 476 ms |
コンパイル使用メモリ | 82,160 KB |
実行使用メモリ | 77,408 KB |
最終ジャッジ日時 | 2025-02-17 12:57:46 |
合計ジャッジ時間 | 2,694 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
# 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 N, S, K = MOD, M, N if K % MOD == 0: print(1 if S % MOD == 0 else -1) continue g = gcd(K, N) if S % g: print(-1) else: N //= g S //= g K //= g # print(N, S, K) # ans = -S * K^-1 (mod N) ans = (N - S * pow(K, -1, N)) % N if ans == 0: ans += N print(ans)