------
## 最终结论
```python
def smallest_divisor(nums, threshold):
    left, right = 1, max(nums)
    
    while left < right:
        mid = (left + right) // 2
        total = sum((num + mid - 1) // mid for num in nums)
        
        if total <= threshold:
            right = mid
        else:
            left = mid + 1
    
    return left

# Example usage:
print(smallest_divisor([1, 2, 5, 9], 6))  # Output: 5
print(smallest_divisor([2, 3, 5, 7, 11], 11))  # Output: 3
print(smallest_divisor([19], 5))  # Output: 4
```