求助学校题库里的一道题
  • 板块灌水区
  • 楼主hymbg2021
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/3/31 20:31
  • 上次更新2023/10/28 05:03:17
查看原帖
求助学校题库里的一道题
590180
hymbg2021楼主2022/3/31 20:31

题目描述:

餐馆提供 n 个菜品编号从 1 到 n ,第 i 号菜品的数量为 ai
,价格为
ci ,共有 m 个客人来预订,第 j 个客人需要预订
tj 号菜品
dj 份。

每当客人需要一份编号为 i 的菜品时,餐馆可以执行以下操作:

给他一份编号为 i 的菜品,客人支付对应菜品的价格 ci ;

如果需要的菜品没有了,那么餐馆可以给他一份最便宜的且有余量的菜品;

如果无法继续提供任何菜品,那么当前客户会生气地离开;

若一个客户得到的菜品数量达到 d j份,那么该客户的花费 cost j

将会是这 dj 份菜品的价值之和。

如果一个客户生气地离开了,那么已经提供的菜品是无法退回到可用菜品里。请你计算每个客人的花费。

输入格式:

第一行包含两个整数 n 和 m (1≤n,m≤2∗10 4
1≤n,m≤2∗104 )

第二行包含 n n 个整数 a 1 ,a 2 ,…,a n
a1,a2,…,an (1≤a i ≤10 5
1≤ai≤105 )

第三行包含 n n 个整数 c 1 ,c 2 ,…,c n
c1,c2,…,cn (1≤c i ≤10 7
1≤ci≤107 )

接下来的 m m 行,每行包含两个整数 tj 和 d j
dj (1≤t j ≤n,1≤d j ≤10 5
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 666666

1 6

2 6

3 6

4 6

5 6

6 66

输出样例2:

36

396

3996

39996

399996

0

输入样例3:

6 6

6 6 6 6 6 6

6 66 666 6666 66666 666666

1 6

2 13

3 6

4 11

5 6

6 6

输出样例3:

36

11058

99996

4333326 0 0

2022/3/31 20:31
加载中...