# Distribute Candies Challenge

Easy
9
68.3% Acceptance

In this lab, your task is to help Alice, who has `n` candies of different types, to eat the maximum number of unique types of candies while following her doctor's advice to only eat `n / 2` candies. You will be implementing a function `distributeCandies(candyType)` which takes an array `candyType` as input and returns the maximum number of different types of candies she can eat.

Make sure to follow the ESM import/export conventions and properly export all the variables, functions, and objects you want to use.

## Lab description

Alice has `n` candies, where the `ith` candy is of type `candyType[i]`. She started to gain weight, so she visited a doctor who advised her to only eat `n / 2` of the candies she has (`n` is always even). Alice likes her candies very much, and she wants to eat the maximum number of different types of candies while still following the doctor's advice.

You need to implement a function `distributeCandies(candyType)` that takes an integer array `candyType` of length `n` and returns the maximum number of different types of candies she can eat if she only eats `n / 2` of them.

### Example 1

``````distributeCandies([1, 1, 2, 2, 3, 3]);
// Output: 3``````

Explanation: Alice can only eat 6 / 2 = 3 candies. Since there are only 3 types, she can eat one of each type.

### Example 2

``````distributeCandies([1, 1, 2, 3]);
// Output: 2``````

Explanation: Alice can only eat 4 / 2 = 2 candies. Whether she eats types `[1, 2]`, `[1, 3]`, or `[2, 3]`, she still can only eat 2 different types.

### Example 3

``````distributeCandies([6, 6, 6, 6]);
// Output: 1``````

Explanation: Alice can only eat 4 / 2 = 2 candies. Even though she can eat 2 candies, she only has 1 type.

### Constraints

• `n == candyType.length`
• `2 <= n <= 104`
• `n` is even.
• `-105 <= candyType[i] <= 105`

### Challenges

Create the challenges of the lab. For each challenge, make sure to mention the purpose of the challenge and the instructions.