[Python3] Greedy with minHeap || 647ms || beats 91%
python3 []\nclass Solution:\n    def miceAndCheese(self, reward1: List[int], reward2: List[int], k: int) -> int:\n        points = sum(reward2)\n        heap = 
```python3 []\nclass Solution:\n    def miceAndCheese(self, reward1: List[int], reward2: List[int], k: int) -> int:\n        points = sum(reward2)\n        heap = [] #minHeap, top k cheeses with best profit when replace reward2 with reward1\n\n        for r1, r2 in zip(reward1, reward2):\n            profit = r1 - r2\n            if len(heap) < k:\n                heappush(heap, profit)\n            elif heap and heap[0] < profit:\n                heapreplace(heap, profit)\n\n        return points + sum(heap)\n```\n\n![Screenshot 2024-08-28 at 21.55.35.png](https://assets.leetcode.com/users/images/57a7285c-2a9a-47a7-8f7e-eb482c7e0e35_1724871421.5299296.png)\n
['Greedy', 'Python', 'Python3']