結果
| 問題 |
No.2324 Two Countries within UEC
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-05-28 16:14:37 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 929 bytes |
| コンパイル時間 | 338 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 59,904 KB |
| 最終ジャッジ日時 | 2024-12-27 11:00:39 |
| 合計ジャッジ時間 | 50,343 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)