```python
def score_drop(scores: list) -> int:
    """
    Calculate the total of scores with the single lowest score left out.
    If the lowest score appears more than once, only one is dropped.
    An empty list or list with one score returns a total of zero.
    """
    if not scores:
        return 0
    
    # Find the minimum score and its count
    min_score = min(scores)
    min_count = scores.count(min_score)
    
    # Drop the lowest score if it appears more than once
    if min_count > 1:
        scores.remove(min_score)
    
    # Calculate the total of the remaining scores
    return sum(scores)
```