#2819. 硬币问题

硬币问题

题目描述

现有 NN 种硬币,编号从 11NN每种硬币的数量无限。已知第 ii 种硬币的重量为 wiw_i,面额为 viv_i。 请你选取若干枚硬币,要求选取的所有硬币的总重量不超过 CC,求能获得的最大总面额

输入格式

第一行:一个正整数 NN,表示硬币的种类数。

第二行:一个正整数 CC,表示允许的最大总重量。

第三行:NN 个用空格分隔的正整数,依次表示第 11 到第 NN 种硬币的重量。

第四行:NN 个用空格分隔的正整数,依次表示第 11 到第 NN 种硬币的面额。

输出格式

输出一行一个整数,表示在总重量不超过 CC 的限制下,能获得的最大总面额。

样例输入

3
5
1 2 5
1 3 6

样例输出

7

样例解释

总重量上限为 5,最优选取方案为: 选取 2 枚重量为 2、面额为 3 的硬币,加上 1 枚重量为 1、面额为 1 的硬币。 总重量为 2×2+1=52×2 + 1 = 5,符合重量限制;总面额为 3×2+1=73×2 + 1 = 7,为所有合法方案中的最大值。

数据范围

  • 1N1001 \le N \le 100
  • 1C10001 \le C \le 1000
  • 对于所有硬币,1重量1001 \le \text{重量} \le 1001面额1001 \le \text{面额} \le 100