立希喂猫
题号:NC274702
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Taki买了 n 种猫粮,第 i 种猫粮的营养值为 a_i 、数量为 b_i

猫猫的饭量是无穷的,每一天她可以吃任意数量的猫粮,但是同一种猫粮她一天只会吃一次。

Taki想知道在 k 天内,猫猫可以获得的最大营养值之和是多少。

输入描述:

第一行输入一个正整数 n(1 \leq n \leq 10^5) ,表示猫粮种数。

第二行输入 n 个正整数 a_i(1 \leq a_i \leq 10^4) ,表示每种猫粮的营养值。

第三行输入 n 个正整数 b_i(1 \leq b_i \leq 10^9) ,表示每种猫粮的数量。

第四行输入一个正整数 q(1 \leq q \leq 10^5) ,表示询问次数。

接下来 q 行,每行输入一个正整数 k(1 \leq k \leq 10^9) ,表示询问的天数。

输出描述:

对于每个询问,在一行中输出一个整数表示答案。
示例1

输入

复制
3
3 7 5
1 2 1
3
1
2
3

输出

复制
15
22
22

说明

一种可行的方案是:
第 1 天:
猫猫吃第1、2、3种猫粮,营养值之和为3+7+5=15。
第 2 天:
猫猫吃第2种猫粮,营养值之和为7。
第 3 天:
猫猫不吃猫粮。