def solve(): R, P, Q = map(int, input().split()) CNTS = list(map(int, input().split())) def judge(x): required_cnt = sum(max(x - cnt, 0) for cnt in CNTS[:-1]) extra_cnt = sum(max(cnt - x, 0) for cnt in CNTS[:-1]) + CNTS[-1] return (extra_cnt >= required_cnt) and (required_cnt * Q + x * P <= R) ans = binary_search(judge) print(ans) def binary_search(judge, ok = 0, ng = 1 << 62): while abs(ok - ng) > 1: med = (ng + ok) // 2 if judge(med): ok = med else: ng = med return ok if __name__ == "__main__": solve()