type none struct{} func distributeCandies(candies []int) int { set := make(map[int]none) for _, c := range candies { set[c] = none{} } if half, kind := len(candies)/2, len(set); kind <= half { return kind } else { return half } }