結果
| 問題 |
No.3179 3 time mod
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-06-13 22:17:16 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 38 ms / 2,000 ms |
| コード長 | 931 bytes |
| コンパイル時間 | 276 ms |
| コンパイル使用メモリ | 82,140 KB |
| 実行使用メモリ | 53,908 KB |
| 最終ジャッジ日時 | 2025-06-14 01:42:45 |
| 合計ジャッジ時間 | 2,940 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 42 |
ソースコード
def extended_gcd(a, b):
if b == 0:
return (a, 1, 0)
g, x1, y1 = extended_gcd(b, a % b)
x, y = y1, x1 - (a // b) * y1
return (g, x, y)
def modinv(a, m):
g, x, y = extended_gcd(a, m)
if g != 1:
raise Exception("Inverse does not exist")
return x % m
def crt_three_mods(a1, m1, a2, m2, a3, m3):
M1M2 = m1 * m2
inv_m1 = modinv(m1, m2)
inv_m2 = modinv(m2, m1)
x12 = (a1 * m2 * inv_m2 + a2 * m1 * inv_m1) % M1M2
inv_M12 = modinv(M1M2, m3)
inv_m3 = modinv(m3, M1M2)
M1M2M3 = M1M2 * m3
x = (x12 * m3 * inv_m3 + a3 * M1M2 * inv_M12) % M1M2M3
return x
def count_crt_solutions(N, P, Q, R, A, B, C):
M = P * Q * R
x0 = crt_three_mods(A, P, B, Q, C, R)
if x0 > N:
return 0
return (N - x0) // M + 1
N = int(input())
P, Q, R = map(int, input().split())
A, B, C = map(int, input().split())
print(count_crt_solutions(N, P, Q, R, A, B, C))