Sure! Here's a test case generator for the provided problem statement:

```python
import random

def tcgen():
    # Generate N (2 ≤ N ≤ 200000)
    N = random.randint(2, 200000)
    
    # Generate K (1 ≤ K ≤ N-1)
    K = random.randint(1, N-1)
    
    # Generate the array A of size N (1 ≤ A_i ≤ 10^9)
    A = [random.randint(1, 10**9) for _ in range(N)]
    
    return N, K, A

# Function to print the generated test case in the required format
def print_test_case():
    N, K, A = tcgen()
    print(N, K)
    print(' '.join(map(str, A)))

# Generate and print a test case
print_test_case()
```

This script generates and prints a random test case for the given problem. The constraints are adhered to by generating appropriate values for \( N \), \( K \), and the array \( A \).

Here is how the output might look:

```
150000 75000
123456789 987654321 123456789 ... (up to 150000 numbers)
```

The function `print_test_case` calls `tcgen` to generate a test case and then prints it in the required format. You can run this script to get a new test case each time.