最大收益(map练习3)
提交数: 1095, 通过率: 28.22%, 平均分: 72.15
题目描述:
商店里有n种商品和k个按顺序给出的订单。每种商品给定名称、收益和库存。每个订单给出需求商品和需求数量。编程判断是否能依次满足所有的订单,如果可以,输出收益;否则,输出“-X“,X表示第一个无法满足的订单编号。
输入格式:
第1行2个整数n和k,k<=n<=10^5。
下面的n行,每行表示一种商品的名称、收益、库存3种信息。
再下面的若干行,每行表示一个订单的需求商号和需求数量两种信息。
每种商品的个数保证在int范围内,保证每个订单中都不会出现没有的商品,商品名的长度<=20。
具体参见输入样例。
输出格式:
一行一个整数,表示收益,或者”-X“,X表示第一个无法满足的订单编号。
样例输入:
3 5 apple 1 100 pear 5 90 football 30 10 pear 24 apple 18 football 4 pear 1 football 6
样例输出:
443
提示:
map的应用。
建议用一个map,储存的类型是结构体。
使用两个map,算法是对的,但查找所耗的时间多一点,要分别在两个map上查找。
时间限制: 1500ms空间限制: 256MB