Python solution:

```
class Solution(object):
def distributeCandies(self, candies):
amt = len(candies)/2
s = set(candies)
if len(s) < amt:
return len(s)
else:
return amt
```

- Find the number of candies that each child can get
- Find how many kinds of candies there are
- Return whichever is smaller