Skip to content

Latest commit

 

History

History
51 lines (32 loc) · 1.12 KB

untitled-9.md

File metadata and controls

51 lines (32 loc) · 1.12 KB

Untitled

class Solution:
    def minOperationsMaxProfit(self, customers: List[int], boardingCost: int, runningCost: int) -> int:
        
        ## 一开始做不出还是不理解,那个预收费没留意到
        cus = 0
        res = 0
        count = len(customers)
        for c in customers:
            cus += c
            if cus > 4:
                res +=  4 * boardingCost - runningCost  
                cus -= 4
                
            else:
                res +=  cus * boardingCost - runningCost  
                cus = 0
                
        if res <= 0:
            return -1
    
        while cus:
            if cus > 4:
                res +=  4 * boardingCost - runningCost  

                if 4 * boardingCost - runningCost  <= 0:
                    break
                cus -= 4

            else:
                res +=  cus * boardingCost - runningCost  
                if cus * boardingCost - runningCost <= 0:
                    break
                cus = 0

            count += 1

        return count