From 38397f754b5b3bd1294460b29dfcb75f9384c8a7 Mon Sep 17 00:00:00 2001 From: yenru0 Date: Mon, 15 Apr 2024 14:11:31 +0900 Subject: [PATCH] complete 1654.py --- zeta_python/1214.py | 24 ++++++++++++++++++++++++ zeta_python/completed/1654.py | 25 +++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 zeta_python/1214.py create mode 100644 zeta_python/completed/1654.py diff --git a/zeta_python/1214.py b/zeta_python/1214.py new file mode 100644 index 0000000..d8822c5 --- /dev/null +++ b/zeta_python/1214.py @@ -0,0 +1,24 @@ +# Px+Qy >= D +def solve(D, P, Q): + if D % P == 0 or D % Q == 0: + return D + Q, P = sorted((P, Q)) + p_bound = (D // P) + 1 + + min_S = 10 ** 13 + for x in range(0, p_bound + 1): + + d, m = divmod(D - P * x, Q) + if m == 0: + return D + new_S = (d + 1) * Q + P * x + if new_S < min_S: + min_S = new_S + if min_S == D: + return min_S + return min_S + + +if __name__ == '__main__': + D, P, Q = map(int, input().split()) + print(solve(D, P, Q)) diff --git a/zeta_python/completed/1654.py b/zeta_python/completed/1654.py new file mode 100644 index 0000000..68e040e --- /dev/null +++ b/zeta_python/completed/1654.py @@ -0,0 +1,25 @@ +import sys + +input = sys.stdin.readline + + +def solve(K, N, E): + before = 1 + head = max(E) + mid = (head + before) // 2 + # do + S = sum(e // mid for e in E) + while before <= head: + if S >= N: + before = mid + 1 + else: + head = mid - 1 + mid = (before + head) // 2 + S = sum(e // mid for e in E) + return mid + + +if __name__ == '__main__': + K, N = map(int, input().split()) + E = [int(input()) for _ in range(K)] + print(solve(K, N, E))