问题 B: 分发糖果2

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:10 解决:6

题目描述

给定一个长度为 n 的整数数组 candyType,数组中的每个元素代表一种类型的糖果。你需要将这些糖果平均分配给一个弟弟和一个妹妹(每人得到 n/2 颗糖果)。妹妹希望得到尽可能多种类的糖果,请你计算妹妹最多能得到多少种不同类型的糖果。 注意: 数组长度 n 保证是偶数; 每种糖果的数量不影响结果,只关注 “类型是否存在”; 妹妹能得到的最大种类数 = min (总糖果种类数,n/2)(因为最多只能拿 n/2 颗,即使种类更多也拿不完)。

输入

第一行输入一个整数 n(2 ≤ n ≤ 10^5),表示糖果数组的长度; 第二行输入 n 个整数(范围 -10^9 ~ 10^9),表示 candyType 数组,每个数代表一种糖果类型。

输出

输出一个整数,表示妹妹最多能得到的糖果种类数。

样例输入 复制

6
1 1 2 2 3 3

样例输出 复制

3