結果
問題 |
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()