#U1718JS2. Rental Service
Rental Service
Farmer John 意识到他从牛奶生产中获得的收入不足以资助他的农场的发展,因此为了赚取一些额外的钱,他推出了一项奶牛出租服务,他称之为“USACOW”(发音为“Use-a-cow” ").Farmer John 有 N 头奶牛 (1≤N≤100,000),每头奶牛每天都能生产一定量的牛奶。FJ农场附近的M店(1≤M≤100,000)每家都提供以一定价格购买一定数量的牛奶。此外,Farmer John 的 R(1≤R≤100,000)个相邻的农民都对以特定价格租用一头奶牛感兴趣。
Farmer John 必须选择每头奶牛是挤奶还是租给附近的农民。帮助他找到他每天可以赚到的最大金额。
输入格式(文件rental.in):
输入的第一行包含 N、M 和 R。接下来的 N 行每行包含一个整数 ,表示 Farmer John 的第 i 头奶牛可以生产 每天几加仑牛奶。接下来的 M 行每行包含两个整数 和 (),表示第 i 家商店愿意购买到 加仑牛奶美分每加仑。请记住,Farmer John 可以出售零到 之间的任何数量的牛奶到给定的商店。接下来的 R 行每行包含一个整数 ,表示 Farmer John 的一个邻居想以 美分租一头牛每天。
输出格式(文件rental.out):
输出应该包含一行,其中包含 Farmer John 通过挤奶或出租每头奶牛每天可以获得的最大利润。请注意,输出可能太大而无法放入标准的 32 位整数,因此您可能需要使用更大的整数类型,例如 C/C++ 中的“long long”。
SAMPLE INPUT:
5 3 4
6
2
4
7
1
10 25
2 10
15 15
250
80
100
40
SAMPLE OUTPUT:
725
Farmer John 应该挤奶 #1 和 #4 奶牛,以生产 13 加仑牛奶。他应该完成 10 加仑的订单,赚取 250 美分,然后以每 15 美分的价格出售剩余的 3 加仑,总共获得 295 美分的牛奶利润。
然后,他应该以 250 美分、80 美分和 100 美分出租其他三头奶牛,从而多赚 430 美分。(他应该不出租 40 美分的租约。)这是每天总共 725 美分的利润。