process(stock, orders) where stock is a dict sku → qty and orders are (order_id, sku, qty) in arrival order: fulfill fully when stock allows (decrement), else reject entirely (no partial fills). Return (fulfilled_ids, rejected_ids).process({'tv': 3}, [(1, 'tv', 2), (2, 'tv', 2), (3, 'tv', 1)])([1, 3], [2])
Order 2 wanted 2 with only 1 left — rejected whole; order 3 took the last unit.
Check stock.get(sku, 0) >= qty.
Two accumulator lists.