题目描述
有 n 种不同的卡牌,其中第 i 种卡牌的基础价值为 vi,数量为 ai 张。
你需要从这些卡牌中恰好选出 X 张,组成自己的卡组。
对于同一种卡牌,随着你选取的数量增加,它后续的价值会下降。具体地,若某种基础价值为 v 的卡牌已经被选了 k 张,那么下一张这种卡牌的价值为:
⌊k+1v⌋
⌊x⌋ 表示对 x 向下取整,即不超过 x 的最大整数。
也就是说:
- 选第 1 张该种卡牌时,价值为 ⌊1v⌋=v;
- 选第 2 张时,价值为 ⌊2v⌋;
- 选第 3 张时,价值为 ⌊3v⌋;
- 依此类推。
每种卡牌至多只能选取 ai 张。
现在,请你计算:恰好选出 X 张卡牌时,能够得到的最大总价值是多少。
输入格式
输入共三行。
第一行包含两个整数 n,X,分别表示卡牌种类数和需要选取的卡牌总数。
第二行包含 n 个整数 v1,v2,…,vn,表示每种卡牌的基础价值。
第三行包含 n 个整数 a1,a2,…,an,表示每种卡牌可供选取的数量。
输出格式
输出一行一个整数,表示最大总价值。
6 6
1 1 2 3 4 5
1 2 1 2 3 4
18
提示
【样例说明】
将所有可能选取的单张卡牌价值展开后,可得:
- 第 1 种卡牌可贡献:1
- 第 2 种卡牌可贡献:1,0
- 第 3 种卡牌可贡献:2
- 第 4 种卡牌可贡献:3,1
- 第 5 种卡牌可贡献:4,2,1
- 第 6 种卡牌可贡献:5,2,1,1
从中选出最大的 6 个值:5,4,3,2,2,2,它们的和为:5+4+3+2+2+2=18,因此答案为 18。
【评测用例规模与约定】
对于 50% 的评测用例,1≤n,X≤5000;
对于所有的评测用例,满足:1≤n≤2×105,0≤X,ai≤2×105,0≤vi≤109。
保证所有卡牌总数不少于 X。