```python
from typing import List

def best_harvest(yields: List[int]) -> int:
    if not isinstance(yields, list):
        raise ValueError("Input must be a list.")
    
    if not all(isinstance(y, int) for y in yields):
        raise ValueError("All elements in the list must be integers.")
    
    if any(y < 0 for y in yields):
        raise ValueError("All yields must be non-negative integers.")
    
    if not yields:
        return 0
    
    total = 0
    for i in range(len(yields)):
        total += yields[i]
        if i < len(yields) - 1 and yields[i] == yields[i + 1]:
            total -= yields[i]
    
    return total
```