#C6628. Minimum Operations to Achieve K Distinct Characters

    ID: 50409 Type: Default 1000ms 256MiB

Minimum Operations to Achieve K Distinct Characters

Minimum Operations to Achieve K Distinct Characters

You are given an integer \( k \) and a string \( s \). Your task is to determine the minimum number of operations required to make \( s \) contain at least \( k \) distinct characters. In one operation, you may add a new character (which is not already in the string) to \( s \). The answer is given by the formula:

\(\text{operations} = \max\Bigl(0, k - |\{c : c \in s\}|\Bigr)\)

Example:

  • If \( k=5 \) and \( s = "abcde" \), the number of distinct characters is 5 so no operation is required.
  • If \( k=2 \) and \( s = "aaaa" \), then only one distinct character exists, so you need 1 operation.

Write a program that reads the input from stdin and outputs the result for each test case to stdout.

inputFormat

The input starts with an integer \( T \) indicating the number of test cases. Each of the next \( T \) lines contains a test case formatted as follows:

  k s

where \( k \) is an integer and \( s \) is a non-empty string containing only lowercase English letters.

outputFormat

For each test case, output a single integer result on a new line representing the minimum number of operations required.

## sample
3
5 abcde
2 aaaa
3 ab
0

1 1

</p>