```python
def rate_cap(price: int, rate: int, most: int) -> int:
    if rate < 0:
        raise ValueError("Rate cannot be negative.")
    
    increase = min(rate, most)
    new_price = price + increase
    
    return round(new_price / 100) * 100
```