[Python] Simple O(n + klogn) time solution
Complexity
Time complexity: O(n + klogn)

Space complexity: O(n)
Code
# Complexity
- Time complexity: O(n + klogn)
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity: O(n)
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```python3 []
class Solution:
    def miceAndCheese(self, reward1: List[int], reward2: List[int], k: int) -> int:
        total = sum(reward2)
        heap = [r2 - r1 for r1, r2 in zip(reward1, reward2)]
        # This is a max heap simulated by using the default min heap with negation of r1 diff r2 
        # E.g. in the max heap, largest diff between r1 and r2 will be at the top
        # O(n) time
        heapq.heapify(heap)

        # O(klogn) time
        for _ in range(k):
            total -= heapq.heappop(heap)
        
        return total

```
['Heap (Priority Queue)', 'Python3']