编程题
### 问题描述 大衣很喜欢刷短视频,短视频后台有一个推荐系统,大衣向上滑动屏幕时,该推荐系统会计算应显示给大衣的短视频。 用数值量化而言,每个短视频 $i$ 有一个内存占用 $A_i$(画质越好的视频内存占用越大),该视频可以带给大衣愉悦度为 $B_i​$。 值得注意的是,当大衣每次重复刷到同一个视频时,观看该视频获得的愉悦度会除以 $2$(向下取整)。 例如,若一个视频初始给大衣获得的愉悦度为 $5$,那么第二次大衣获得的愉悦度会变成 $2$,第三次为 $1$,第四次以后再刷到这个视频获得的愉悦度就为 $0$ 了。 大衣一共进行了 $Q$ 次刷视频操作,为了使手机不卡顿,推荐系统第 $j$ 次会选择一个内存占用不高于 $X_j$ 的视频,如果有多个这样的视频,推荐系统会推荐满足条件的播放画质最好的那个视频 (即内存占用最高的视频),如果有多个视频的画质都是最好,那么推荐系统会推荐当前愉悦度最高的视频,当大衣观看完一个视频后,即可获得该视频的愉悦度。 请你计算大衣刷完所有 $Q​$ 个视频后获得的总愉悦度。 ### 输入格式 第一行输入一个正整数 $T$ 表示测试数据的组数。 接下来 $T$ 组测试数据每组输入四行: - 第一行输入两个正整数 $N,Q$ 分别表示短视频的数量和要刷的短视频数量。 - 第二行输入 $N$ 个整数 $A_1,A_2,\cdots,A_N$ 表示每个短视频的内存占用。 - 第三行输入 $N$ 个整数 $B_1,B_2,\cdots,B_N$ 表示每个短视频的初始愉悦度。 - 第四行输入 $Q$ 个整数 $X_1,X_2,\cdots,X_Q$ 表示每次刷到的视频内存的上界。 ### 输出格式 对于每组测试数据,输出一个整数表示大衣刷完所有 $Q$ 个视频后获得的总愉悦度,并换行。 ### 样例输入 ```text 2 1 2 5 6 5 7 3 4 3 5 1 3 4 2 3 3 6 1 ``` ### 样例输出 ```text 9 10 ``` ### 说明 样例 $1$:大衣刷到的短视频如下: - 第一次内存占用不超过 $5$,会刷到短视频 $1$,它的愉悦值为 $6$。 - 第二次内存占用不超过 $7​$,会刷到短视频 $1​$,此时它的愉悦值为 $3​$。 所以总的愉悦值为 $6+3=9$。 样例 $2$:大衣刷到的短视频如下: - 第一次内存占用不超过 $3​$,会刷到短视频 $1​$,它的愉悦值为 $3​$。 - 第二次内存占用不超过 $3$,会刷到短视频 $1$,此时它的愉悦值为 $1$。 - 第三次内存占用不超过 $6$,会刷到短视频 $2$,它的愉悦值为 $4$。 - 第四次内存占用不超过 $1$,会刷到短视频 $3$,它的愉悦值为 $2$。 所以总的愉悦值为 $3+1+4+2=10​$。 ### 评测数据规模 对于所有的评测数据,$1\le T\le 20$,$1\le N,Q\le 10^4$,$1\le A_i,B_i,X_i\le10^9$,保证 $X_i$ 一定不小于 $A_i$ 的最小值。
查看答案
赣ICP备20007335号-2