题目描述:
餐馆提供 n 个菜品编号从 1 到 n,第 i 号菜品的数量为 ai,价格为 ci,共有 m 个客人来预订,第 j 个客人需要预订 tj
号菜品 dj 份。
每当客人需要一份编号为 i 的菜品时,餐馆可以执行以下操作:
给他一份编号为 i 的菜品,客人支付对应菜品的价格 ci ;
如果需要的菜品没有了,那么餐馆可以给他一份最便宜的且有余量的菜品;
如果无法继续提供任何菜品,那么当前客户会生气地离开;
若一个客户得到的菜品数量达到 dj 份,那么该客户的花费 costj 将会是这 dj 份菜品的价值之和。
如果一个客户生气地离开了,那么已经提供的菜品是无法退回到可用菜品里。请你计算每个客人的花费。
输入格式:
第一行包含两个整数 n 和 m (1≤n,m≤2∗104)
第二行包含 n 个整数 a1,a2,…,an (1≤ai≤105)
第三行包含 n 个整数 c1,c2,…,cn (1≤ci≤107)
接下来的 m 行,每行包含两个整数 tj 和 dj (1≤tj≤n,1≤dj≤105),表示第 j 个客户所需要的菜品种类和数量。
输出格式:
一共 m 行,第 j 行表示第 j 个客人需要支付的费用。
输入样例1:
8 5
8 6 2 1 4 5 7 5
6 3 3 2 6 2 3 2
2 8
1 4
4 7
3 4
6 10
输出样例1:
22
24
14
10
39
输入样例2:
6 6
6 6 6 6 6 6
6 66 666 6666 66666