All Distinct (Codeforces 1692B)
Tags: Greedy, sortings

Sho has an array $$$a$$$ consisting of $$$n$$$ integers. An operation consists of choosing two distinct indices $$$i$$$ and $$$j$$$ and removing $$$a_i$$$ and $$$a_j$$$ from the array.For example, for the array $$$[2, 3, 4, 2, 5]$$$, Sho can choose to remove indices $$$1$$$ and $$$3$$$. After this operation, the array becomes $$$[3, 2, 5]$$$. Note that after any operation, the length of the array is reduced by two.After he made some operations, Sho has an array that has only distinct elements. In addition, he made operations such that the resulting array is the longest possible. More formally, the array after Sho has made his operations respects these criteria:   No pairs such that ($$$i < j$$$) and $$$a_i = a_j$$$ exist.  The length of $$$a$$$ is maximized. Output the length of the final array.

Input: The first line contains a single integer $$$t$$$ ($$$1 \leq t \leq 10^3$$$) — the number of test cases.The first line of each test case contains a single integer $$$n$$$ ($$$1 \leq n \leq 50$$$) — the length of the array.The second line of each test case contains $$$n$$$ integers $$$a_i$$$ ($$$1 \leq a_i \leq 10^4$$$) — the elements of the array.

Output: For each test case, output a single integer — the length of the final array. Remember that in the final array, all elements are different, and its length is maximum.

Note: For the first test case Sho can perform operations as follows:   Choose indices $$$1$$$ and $$$5$$$ to remove. The array becomes $$$[2, 2, 2, 3, 3, 3] \rightarrow [2, 2, 3, 3]$$$.  Choose indices $$$1$$$ and $$$4$$$ to remove. The array becomes $$$[2, 2, 3, 3] \rightarrow [2, 3]$$$.  The final array has a length of $$$2$$$, so the answer is $$$2$$$. It can be proven that Sho cannot obtain an array with a longer length.For the second test case Sho can perform operations as follows:   Choose indices $$$3$$$ and $$$4$$$ to remove. The array becomes $$$[9, 1, 9, 9, 1] \rightarrow [9, 1, 1]$$$.  Choose indices $$$1$$$ and $$$3$$$ to remove. The array becomes $$$[9, 1, 1] \rightarrow [1]$$$.  The final array has a length of $$$1$$$, so the answer is $$$1$$$. It can be proven that Sho cannot obtain an array with a longer length.

Sample Inputs:
4
6
2 2 2 3 3 3
5
9 1 9 9 1
4
15 16 16 15
4
10 100 1000 10000

Sample Outputs:
2
1
2
4

Solution (Python):
for s in [*open(0)][2::2]:
    a = s.split()
    m = len({*a})
    print(m - (len(a) - m) % 2)

Solution (Python):
for _ in range(int(input())):
    n = int(input())
    arr = input().split()
    temp = set(arr)
    diff = len(arr) - len(temp)
    if diff % 2:
        print(len(temp) - 1)
    else:
        print(len(temp))

Solution (Python):
INF = float('inf')

def read_str():
    return input()

def read_int():
    return int(input())

def read_lst():
    return list(map(int, input().split()))

def read_map():
    return map(int, input().split())

def ok(b):
    print('YES' if b else 'NO')

def solve():
    n = read_int()
    a = read_lst()
    la = len(a)
    lsa = len(set(a))
    if la == lsa:
        print(la)
    elif la % 2 == 0 and lsa % 2 == 0:
        print(lsa)
    elif la % 2 == 0 and lsa % 2 == 1:
        print(lsa - 1)
    elif la % 2 == 1 and lsa % 2 == 0:
        print(lsa - 1)
    else:
        print(lsa)

def main():
    for _ in range(read_int()):
        solve()
if __name__ == '__main__':
    main()