------
## 最终结论
```python
def min_rotations_to_maximize_profit(customers, boardingCost, runningCost):
    max_profit = -1
    total_profit = 0
    total_customers = 0
    waiting_customers = 0
    rotations = 0
    max_rotations = -1

    for i in range(len(customers)):
        waiting_customers += customers[i]
        board_now = min(4, waiting_customers)
        waiting_customers -= board_now
        
        total_customers += board_now
        total_profit = total_customers * boardingCost - (i + 1) * runningCost
        
        if total_profit > max_profit:
            max_profit = total_profit
            max_rotations = i + 1

    while waiting_customers > 0:
        rotations += 1
        board_now = min(4, waiting_customers)
        waiting_customers -= board_now
        
        total_customers += board_now
        total_profit = total_customers * boardingCost - (len(customers) + rotations) * runningCost
        
        if total_profit > max_profit:
            max_profit = total_profit
            max_rotations = len(customers) + rotations

    return max_rotations if max_profit > 0 else -1
```