```python
def climb_budget(tolls: list) -> int:
    if not all(toll.isdigit() for toll in tolls):
        raise ValueError("Non-digit character found")
    if any(toll.startswith('0') and len(toll) > 1 for toll in tolls):
        raise ValueError("Leading zero found")
    
    n = len(tolls)
    if n == 0:
        return 0
    elif n == 1:
        return 0
    
    dp = [float('inf')] * (n + 1)
    dp[0] = 0
    
    for i in range(n):
        dp[i + 1] = min(dp[i + 1], dp[i] + int(tolls[i]))
        if i + 2 < n:
            dp[i + 2] = min(dp[i + 2], dp[i] + int(tolls[i]))
    
    return dp[n]
```