Cửa hàng giày có n đôi giày với các kích cỡ trong mảng shoes. Có m khách hàng, mỗi khách i cần kích cỡ shoe_size và sẵn sàng trả money. Khách đến theo thứ tự, chỉ mua nếu còn giày size đó. Tính tổng doanh thu.
Ví dụ: shoes = [2,3,4,5,6,8,7,6,5,18], demand = [(6,55), (6,45), (6,55), (4,40), (18,60), (10,50)] → doanh thu 200.
Thuật toán
- Dùng
Counterđếm số lượng từng size giày. - Duyệt qua
demand: nếu còn giày size đó (sizes[sz] > 0), giảm đếm và cộng doanh thu.
Ví dụ mã nguồn
from collections import Counter
def solve(shoes, demand):
sizes = Counter(shoes)
earn = 0
for sz, price in demand:
if sizes[sz]:
sizes[sz] -= 1
earn += price
return earn
shoes = [2,3,4,5,6,8,7,6,5,18]
demand = [(6,55), (6,45), (6,55), (4,40), (18,60), (10,50)]
print(solve(shoes, demand)) # 200
Đầu vào / Đầu ra
Input: [2,3,4,5,6,8,7,6,5,18], [(6,55), (6,45), (6,55), (4,40), (18,60), (10,50)]
Output: 200