結果
| 問題 |
No.3179 3 time mod
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-06-17 00:03:24 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 44 ms / 2,000 ms |
| コード長 | 819 bytes |
| コンパイル時間 | 427 ms |
| コンパイル使用メモリ | 82,212 KB |
| 実行使用メモリ | 53,828 KB |
| 最終ジャッジ日時 | 2025-06-17 00:03:29 |
| 合計ジャッジ時間 | 4,479 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 42 |
ソースコード
## https://yukicoder.me/problems/no/3179
def ext_euclide(X, Y):
"""
拡張ユークリッド互除法を実行する。
a * X + b * Y = 1 を満たすa, bを取得する
X, Yの満たすべき前提として
・gcd(X, Y) = 1
・X > Y
・X > 0, Y > 0
"""
if Y == 1:
return 0, 1
a, b = ext_euclide(Y, X % Y)
return b, a - b * (X // Y)
def main():
N = int(input())
P, Q, R = map(int, input().split())
A, B, C = map(int, input().split())
a, b = ext_euclide(P, Q)
x = a * P * B + A * b * Q
x %= P * Q
c, d = ext_euclide(P *Q, R)
y = c * P * Q * C + x * R * d
y %= (P * Q * R)
if y > N:
print(0)
else:
z = N - y
z_ = z // (P * Q * R) + 1
print(z_)
if __name__ == "__main__":
main()