import sys
def solve():
# 读取所有输入内容
input_data = sys.stdin.read().split()
if not input_data:
return
iterator = iter(input_data)
try:
n = int(next(iterator))
# 读取距离列表
dists = []
for _ in range(n):
dists.append(int(next(iterator)))
# 读取速度列表
speeds = []
for _ in range(n):
speeds.append(int(next(iterator)))
except StopIteration:
return
# 计算每只怪兽的到达时间
# 存储为 (到达时间, 原始索引) 的元组列表,虽然索引这里不需要,但有助于调试
arrival_times = []
for i in range(n):
d = dists[i]
s = speeds[i]
# 使用浮点数计算时间
t = d / s
arrival_times.append(t)
# 核心贪心策略:按到达时间从小到大排序
arrival_times.sort()
count = 0 # 记录消灭的怪兽数量,同时也代表当前的时间 k
for t in arrival_times:
# 在第 count 分钟开始时射击 (k = count)
# 必须满足:怪兽到达时间 t > k
# 如果 t <= k,说明在我们举弓的瞬间,怪兽已经到了或早到了,游戏结束
if t > count:
count += 1
else:
# 一旦遇到一只无法及时消灭的怪兽,后续的怪兽到达时间更晚(或相等),
# 而我们需要的时间 k 会更大,所以肯定也无法消灭,直接break
break
print(count)
if __name__ == "__main__":
solve()