結果
問題 |
No.2324 Two Countries within UEC
|
ユーザー |
|
提出日時 | 2023-05-28 16:19:00 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 928 bytes |
コンパイル時間 | 726 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 180,480 KB |
最終ジャッジ日時 | 2024-12-27 11:08:30 |
合計ジャッジ時間 | 37,773 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 32 TLE * 9 |
ソースコード
def extended_gcd(a, b): if b == 0: return a, 1, 0 else: d, x, y = extended_gcd(b, a % b) return d, y, x - (a // b) * y def count_valid_y(n, m, x, p, f): d, _, _ = extended_gcd(x, p) if f % d != 0: return 0 else: p_div_d = p // d f_div_d = f // d y0 = (f_div_d * extended_gcd(x // d, p_div_d)[1]) % p_div_d count = 0 if y0 == 0: y0 = p_div_d while y0 <= m: if (x * y0) % p == f: count += 1 y0 += p_div_d return count def solve(N, M, P, Q, queries): results = [] for x, f in queries: result = count_valid_y(N, M, x, P, f) results.append(result) return results N, M, P, Q = map(int, input().split()) queries = [list(map(int, input().split())) for _ in range(Q)] results = solve(N, M, P, Q, queries) for result in results: print(result)