Problem p03386 - Generation 1

Orig Description

Score : 200 points
Problem StatementPrint all the integers that satisfies the following in ascending order:
Among the integers between A and B (inclusive), it is either within the K smallest integers or within the K largest integers.
Constraints
1 \leq A \leq B \leq 10^9
1 \leq K \leq 100
All values in input are integers.
InputInput is given from Standard Input in the following format:
A B K
OutputPrint all the integers that satisfies the condition above in ascending order.
Sample Input 13 8 2
Sample Output 13
4
7
8
3 is the first smallest integer among the integers between 3 and 8.
4 is the second smallest integer among the integers between 3 and 8.
7 is the second largest integer among the integers between 3 and 8.
8 is the first largest integer among the integers between 3 and 8.
Sample Input 24 8 3
Sample Output 24
5
6
7
8
Sample Input 32 9 100
Sample Output 32
3
4
5
6
7
8
9

Extracted Specification

An integer A (1 ≤ A ≤ 10^9).
An integer B (A ≤ B ≤ 10^9).
An integer K (1 ≤ K ≤ 100).

### Example Input:

```
3 8 2
```

### Function Signature:
Write a function f(A, B, K) that takes in the input.
def f(A: int, B: int, K: int):
    '''
    A: an integer
    B: an integer
    K: an integer
    '''

Test Case Generator

Certainly! Below is the test case generator for the given problem statement:

```python
import random

def tcgen():
    # Constraints
    A = random.randint(1, 10**9)
    B = random.randint(A, 10**9)
    K = random.randint(1, 100)
    
    return A, B, K

# Example usage of the test case generator:
if __name__ == "__main__":
    for _ in range(5):  # Generate 5 test cases for demonstration
        A, B, K = tcgen()
        print(f"Input: {A} {B} {K}")
```

This generator will create random values for \(A\), \(B\), and \(K\) within the specified constraints. Each generated test case will adhere to the constraints mentioned in the problem statement. You can use the `tcgen()` function to generate multiple test cases as needed.

### Explanation:
1. **A** is a random integer between 1 and \(10^9\).
2. **B** is a random integer between **A** and \(10^9\) (ensuring \(A \leq B\)).
3. **K** is a random integer between 1 and 100.

You can run the script and it will print out the generated test cases for you. Adjust the range in the `for` loop to generate the desired number of test cases.

Extract Arguments

def extract_arguments(fh):
    A, B, K = map(int, fh.readline().strip().split())
    return A, B, K