问题
Raghu是一家鞋店老板,拥有X鞋的数量。他有一个清单,其中包含库存中每鞋的大小。 There are N customers, each willing to pay amount of money, but only if they get the shoe of their desired size.
Your task is to calculate the total amount of money Raghu will earn based on these conditions.
输入
第一行包含X,鞋总数。
第二行包含商店中所有鞋子的空间分隔清单。
第三行包含n,客户总数。
下一个n行包含客户所需的shoe size
的空间分隔值,
, the price they are willing to pay for the shoe.
约束
Sample Input:
4 输出
输出应为Raghu赚取的总金额。
样本输出:
200
解释
客户1:以$ 55的价格购买了6鞋。
客户2:以$ 45的价格购买了6鞋。
客户3:尺寸6不再可用,因此不购买。
客户4:以$ 40的价格购买了4鞋。
客户5:以$ 60的价格购买了18鞋。
客户6:尺寸10不可用,因此不购买。
总钱
解决方案
要解决这个问题,我们需要跟踪可用的鞋子,并在我们的所需尺寸上出售给客户。这可以使用Python collections.Counter
类有效地完成,该类别计算列表中元素的出现数量。
代码
这是解决此问题的Python代码:
from collections import Counter as ctr
_ = input()
shoe_sizes_counter = ctr(map(int, input().split(' ')))
earning = 0
for _ in range(int(input())):
size, price = tuple(map(int, input().split(' ')))
if shoe_sizes_counter.get(size, 0):
earning += price
shoe_sizes_counter[size] -= 1
print(earning)
此代码维护可用鞋子尺寸的计数器。对于每个客户,它检查所需的鞋子是否可用。如果是这样,则将客户的价格添加到总收入中,并且鞋子的尺寸从柜台降低。然后打印最终收入。
有关更有见地的解决方案和与技术相关的内容,请随时在我的Beacons page上与我联系。