Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution:
- def minTokensToExpand(self,warehouses,shipments):
- n = len(warehouses)
- warehouses = sorted(warehouses)
- total = sum(warehouses)
- answers = []
- for x,y in shipments:
- ans = 10**10
- for curr in warehouses:
- remaining = total - curr
- ans = min(ans,(max(0,x-curr)+max(0,y-remaining)))
- answers.append(ans)
- return answers
- if __name__ == "__main__":
- sol = Solution()
- cases = [
- ([2,4,1,3], [(5,7)]),
- ([1, 2, 3], [(4, 2), (3, 3), (0, 0)]),
- ([5], [(3, 2), (10, 0), (0, 6)]),
- ([2, 2, 2, 2], [(3, 5), (8, 1), (4, 4)]),
- ([10, 20, 30], [(15, 25), (60, 0), (5, 55)]),
- ([1, 100, 1], [(50, 1), (1, 101), (102, 0)]),
- ]
- for warehouses, shipments in cases:
- ans = sol.minTokensToExpand(warehouses, shipments)
- print(f"warehouses={warehouses}, shipments={shipments} -> answers={ans}")
Advertisement
Add Comment
Please, Sign In to add comment