编程题
### 问题描述 大衣给你无限颗糖果去卖。这里有 $N​$ 个顾客,第 $i​$ 个顾客的预算为 $A_i​$ 元,满足 $1\le A_i\le M​$。 你可以选择一个价格 $P​$ 去销售这些糖果,满足 $1\le P\le M​$。 第 $i$ 个顾客会购买 $\lfloor\frac{A_i}{P}\rfloor$ 颗糖果。 大衣告诉你,你每卖出去的一颗糖果,他就会奖励你 $C_P​$ 元,请问你最多能收到多少元的奖金? ### 输入格式 第一行输入一个正整数 $T​$ 表示测试数据的组数。 接下来 $T​$ 组测试数据每组输入三行: - 第一行输入两个正整数 $N,M​$ 分别表示顾客的数量和顾客预算/价格的上界。 - 第二行输入 $N​$ 个整数 $A_1,A_2,\cdots,A_N​$ 分别表示每个顾客的预算。 - 第三行输入 $M$ 个整数 $C_1,C_2,\cdots,C_M$,当你选择价格 $i$ 去销售时,每卖出一颗糖果的奖金为 $C_i$。 ### 输出格式 对于每组测试数据,输出一个整数表示最多能收到的奖金,并换行。 ### 样例输入 ```text 2 5 6 3 1 4 1 5 1 4 5 5 8 99 1 2 1 4 1 ``` ### 样例输出 ```text 20 4 ``` ### 说明 样例 $1​$: - 如果选择价格 $P=1$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{1}\rfloor,\lfloor\frac{1}{1}\rfloor,\lfloor\frac{4}{1}\rfloor,\lfloor\frac{1}{1}\rfloor,\lfloor\frac{5}{1}\rfloor]$。因此奖金为 $(3+1+4+1+5)\cdot1=14$。 - 如果选择价格 $P=2$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{2}\rfloor,\lfloor\frac{1}{2}\rfloor,\lfloor\frac{4}{2}\rfloor,\lfloor\frac{1}{2}\rfloor,\lfloor\frac{5}{2}\rfloor]$。因此奖金为 $(1+0+2+0+2)\cdot4=20$。 - 如果选择价格 $P=3$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{3}\rfloor,\lfloor\frac{1}{3}\rfloor,\lfloor\frac{4}{3}\rfloor,\lfloor\frac{1}{3}\rfloor,\lfloor\frac{5}{3}\rfloor]$。因此奖金为 $(1+0+1+0+1)\cdot5=15$。 - 如果选择价格 $P=4$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{4}\rfloor,\lfloor\frac{1}{4}\rfloor,\lfloor\frac{4}{4}\rfloor,\lfloor\frac{1}{4}\rfloor,\lfloor\frac{5}{4}\rfloor]$。因此奖金为 $(0+0+1+0+1)\cdot5=10$。 - 如果选择价格 $P=5$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{5}\rfloor,\lfloor\frac{1}{5}\rfloor,\lfloor\frac{4}{5}\rfloor,\lfloor\frac{1}{5}\rfloor,\lfloor\frac{5}{5}\rfloor]$。因此奖金为 $(0+0+0+0+1)\cdot8=8$。 - 如果选择价格 $P=6$,每个人买的糖果数量分别为 $[\lfloor\frac{3}{6}\rfloor,\lfloor\frac{1}{6}\rfloor,\lfloor\frac{4}{6}\rfloor,\lfloor\frac{1}{6}\rfloor,\lfloor\frac{5}{6}\rfloor]$。因此奖金为 $(0+0+0+0+0)\cdot99=0$。 因此,答案为 $20​$。 样例 $2$: - 如果选择价格 $P=1$,每个人买的糖果数量分别为 $[\lfloor\frac{1}{1}\rfloor]$。因此奖金为 $1\cdot4=4$。 - 如果选择价格 $P=2$,每个人买的糖果数量分别为 $[\lfloor\frac{1}{2}\rfloor]$。因此奖金为 $0\cdot1=0$。 因此,答案为 $4$。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 20$,$1\le N,M\le 10^4$,$1\le A_i\le M$,$1\le C_i\le 10^6$。
查看答案
赣ICP备20007335号-2