#L4181. [USACO18JAN] Rental Service S

    ID: 897 传统题 文件IO:rental 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>贪心排序USACO2018

[USACO18JAN] Rental Service S

P4181 [USACO18JAN] Rental Service S

题目描述

Farmer John 意识到牛奶生产的收入不足以支持农场的扩展,因此为了赚取额外收入,他推出了一项奶牛租赁服务,称为“USACOW”(发音为“Use-a-cow”)。

Farmer John 有 NN 头奶牛(1N100,0001 \leq N \leq 100,000),每头奶牛每天可以生产一定量的牛奶。附近的 MM 家商店(1M100,0001 \leq M \leq 100,000)每家都愿意以一定价格购买一定量的牛奶。此外,Farmer John 的 RR 个邻居(1R100,0001 \leq R \leq 100,000)每家都愿意以一定价格租赁一头奶牛。

Farmer John 需要决定每头奶牛是用于产奶还是租给附近的农民。请帮助他计算每天可以赚取的最大金额。

输入格式

输入的第一行包含 NNMMRR。接下来的 NN 行每行包含一个整数 cic_i1ci1,000,0001 \leq c_i \leq 1,000,000),表示 Farmer John 的第 ii 头奶牛每天可以生产 cic_i 加仑牛奶。接下来的 MM 行每行包含两个整数 qiq_ipip_i1qi,pi1,000,0001 \leq q_i, p_i \leq 1,000,000),表示第 ii 家商店愿意以每加仑 pip_i 美分的价格购买最多 qiq_i 加仑牛奶。请注意,Farmer John 可以向每家商店出售任意数量的牛奶,范围从 00qiq_i 加仑。接下来的 RR 行每行包含一个整数 rir_i1ri1,000,0001 \leq r_i \leq 1,000,000),表示 Farmer John 的一个邻居愿意以每天 rir_i 美分的价格租赁一头奶牛。

输出格式

输出应包含一行,表示 Farmer John 通过产奶或租赁奶牛每天可以获得的最大利润。请注意,输出可能超过标准 32 位整数的范围,因此可能需要使用更大的整数类型,例如 C/C++ 中的 long long

输入输出样例 1

5 3 4
6
2
4
7
1
10 25
2 10
15 15
250
80
100
40
725

说明/提示

Farmer John 应该让奶牛 #1 和 #4 产奶,每天生产 1313 加仑牛奶。他应该完全满足 1010 加仑的订单,赚取 250250 美分,并以每加仑 1515 美分的价格出售剩余的 33 加仑,总共赚取 295295 美分的牛奶利润。

然后,他应该将其他三头奶牛分别以 2502508080100100 美分的价格租出,赚取额外的 430430 美分。(他应该忽略 4040 美分的租赁请求。)这样,他每天的总利润为 725725 美分。