我的a了(每次取1或者买全部材料做冰淇淋能做多少)
#coding=utf-8
# 本题为考试多行输入输出规范示例,无需提交,不计分。
import sys
if __name__ == "__main__":
# 读取第一行的n
line = sys.stdin.readline().strip()
# 把每一行的数字分隔后转化成int列表
nm = list(map(int, line.split()))
n = nm[0]
m = nm[1]
line = sys.stdin.readline().strip()
exist = list(map(int, line.split()))
line = sys.stdin.readline().strip()
money = list(map(int, line.split()))
total_money = sum(money)
ans = 0
min_num = min(exist)
ans += min_num
exist_buf = [i - min_num for i in exist]
exist = exist_buf
while m > 0:
min_num = max(1, m // total_money)
ans += min_num
need = [i - min_num for i in exist]
need_money = 0
for i in range(n):
exist_buf[i] = max(exist[i] - min_num, 0)
if need[i] < 0:
need_money += abs(need[i]) * money[i]
exist = exist_buf
m -= need_money
if m < 0:
ans -= 1
print(ans)