100 #P2160. 最大化数组收益

最大化数组收益

Problem Description

有一个大小为 nn 的数组 aa ,一开始 aa 的所有元素都为 11 ,你可以进行以下操作:

  • 选择两个整数 ii (1≤i≤n)(1 \leq i \leq n), xx (x>0)(x>0),让 ai=ai+⌊aix⌋a_i=a_i+ \lfloor \frac{a_i}{x} \rfloor 你可以进行最多 kk 次操作,操作结束后,对于那些满足 ai=bia_i = b_i 的位置,你会收到 cic_i 的收益 (1≤i≤n)(1 \leq i \leq n) 你的任务是在 kk 次操作内最大化收益。

Input Format

第一行包括两个整数 nn, kk (1≤n≤103;0≤k≤106)(1 \leq n \leq 10^3;0 \leq k \leq 10^6) ,代表数组的大小和最大操作次数。 第二行包括 nn 个整数 b1,b2,...,bnb_1,b_2,...,b_n (1≤bi≤103)(1 \leq b_i \leq 10^3) 。 第三行包括 nn 个整数 c1,c2,...,cnc_1,c_2,...,c_n (1≤ci≤106)(1 \leq c_i \leq 10^6) 。

Output Format

输出一个整数,代表 kk 次操作内的最大收益。

Sample

Input1:

4 4
1 7 5 2
2 6 5 2

Output1:

9

Input2:

5 9
5 2 5 6 3
5 9 1 9 7

Output2:

30