2094. Remove Stones to Minimize the Total
My accepted Python solution to LeetCode problem 2094, Remove Stones to Minimize the Total, running in 548ms.
- Difficulty: Medium
- Python
- Runtime 548ms
- Memory 30.3MB
- Updated
Read the problem on LeetCode View on GitHub
The problem statement is LeetCode’s and stays on their site. What follows is my accepted solution.
Python
Accepted on LeetCode — runtime 548ms, memory 30.3MB, accepted 2026-01-02.
class Solution:
def minStoneSum(self, piles: List[int], k: int) -> int:
import heapq
# Use max heap (negate values for Python's min heap)
heap = [-p for p in piles]
heapq.heapify(heap)
for _ in range(k):
# Get largest pile
largest = -heapq.heappop(heap)
# Remove floor(largest/2) stones
new_pile = largest - largest // 2
heapq.heappush(heap, -new_pile)
return -sum(heap)