• + 0 comments

    PYTHON3 SOLUTION:

    import heapq
    class MinHeap:
        def __init__(self, A):
            self.harr = A[:]
            heapq.heapify(self.harr)
    
        def extractMin(self):
            return heapq.heappop(self.harr)
        
        def getMin(self):
            return self.harr[0]
        
        def getSize(self):
            return len(self.harr)
        
        def insertKey(self, k):
            heapq.heappush(self.harr, k)
    
    def cookies(k, A):
        # Write your code here
        h = MinHeap(A)
    
        res = 0
    
        while h.getMin() < k:
            if h.getSize() == 1:
                return -1
            
            first = h.extractMin()
            second = h.extractMin()
            h.insertKey(first + (second * 2))
    
            res += 1
        
        return res