这是一个典型的贪心策略问题。为了使得总成本最小,我们应该优先使用价格最低的发货日期。
问题的关键在于,一个订单有多个可选的发货日期(只要在最晚发货日期之前),而一个发货日期也可以被多个订单使用(只要不超过当天的发货上限)。
一个直观且正确的贪心思路是按时间顺序来处理。我们从第 1 天开始,一直到第 n 天。在每一天 i,我们会遇到两件事:
多多有一批订单需要发货,每个订单都存在独立的最晚发货日期,需要在那之前发出。
多多找了一家合作的物流商,物流商给出了未来一段时间每天的发货价格,并且每天最多能发的包裹数量是有限的。
多多需要在每个订单的最晚发货日期前将所有订单发出,并尽可能减少发货成本。
请你帮多多计算一下最小的发货成本是多少。
第一行有三个整数 n,m,x(1≤n,m,x≤105) ,代表物流商给出了接下来 n 天的发货价格,有 m 个订单需要发货,每天最多能发 x 个包裹。
第二行有 n 个整数 a1,a2,...,an(0≤ai≤109,1≤i≤n),代表第 i 天发一包要的价格为 ai 。
第三行有 m 个整数 b1,b2,...,bn(1≤bj≤n,1≤j≤m) ,代表订单 j 需要在第 bj 天以及之前发货。
(输入数据保证在 n 天内可以将所有订单发完)
输出一个整数,表示最小的发货成本。
输入
3 4 2
3 2 1
1 2 2 3
输出
8
说明
第一天将订单1发货,花费 3
第一天将订单2和订单3发货,花费 4
第二天将订单4发货,花费 1
总共花费 8