#CF1995B2. B2. 花束(困难版)
B2. 花束(困难版)
B2. 花束(困难版)
每测试点时间限制:1.5 秒
内存限制:256 兆字节
本题为困难版本。唯一区别在于:在本版本中,每种花的花瓣数和数量均已给出,而非仅列出花瓣数。
一位女孩正在准备她的生日,想要购买最漂亮的花束。商店里共有 种不同类型的花,每种花由其花瓣数和该种花的数量描述。一朵有 片花瓣的花花费 枚硬币。女孩决定,她用于装饰蛋糕的任意两朵花的花瓣数之差不能超过 。同时,女孩希望组装的花束花瓣总数尽可能多。可惜她只有 枚硬币,不能超支。请问她能够组装的花束的最大可能花瓣总数是多少?
输入
每个测试包含多个测试用例。第一行包含一个整数 ()——测试用例的数量。接下来是各个测试用例的描述。
每个测试用例的第一行包含两个整数 (,)——商店中花的种类数,以及女孩拥有的硬币数。
每个测试用例的第二行包含 个互不相同的整数 (),其中 是第 种花的花瓣数(对于不同下标 ,保证 )。
每个测试用例的第三行包含 个整数 (),其中 是第 种花在商店中的数量。
所有测试用例的 之和不超过 。
输出
对于每个测试用例,输出一个整数——在满足所有给定条件的前提下,女孩能够收集到的花束的最大可能花瓣总数。
示例
输入
7
3 10
1 2 3
2 2 1
3 1033
206 207 1000
3 4 1
6 20
4 2 7 5 6 1
1 2 1 3 1 7
8 100000
239 30 610 122 24 40 8 2
12 13123 112 1456 124 100 123 10982
6 13
2 4 11 1 3 5
2 2 1 2 2 1
8 10330
206 210 200 201 198 199 222 1000
9 10 11 12 13 14 15 16
2 10000000000
11 12
87312315 753297050
输出
7
1033
19
99990
13
10000
9999999999
说明
在第一个测试用例中,一些合法的花束为:,,,。在不超过 枚硬币的所有合法花束中,最大值是 ,对应花束 。
在第二个测试用例中,可以组装一个合法花束 ,花瓣总数为 ,这是女孩能买到的最大花瓣数。
在第三个测试用例中,可以组装一个合法花束 ,花瓣总数为 。可见没有合法花束能达到 片花瓣。