传统题 文件IO:split 1000ms 256MiB

拆分

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

鸡尾酒又带着大家学习新定义啦!今天要学习的内容是集合的 mex,集合的 mex 指的是一个集合没有出现过的最小自然数。例如,mex({1,2}) = 0、mex({0,1,2,3}) = 4。

现在你有一个包含 n 个元素的集合,你可以将它分成任意个数量的新集合,使得所有新集合的 mex 值之和最大,求这个最大值是多少。

输入描述

第一行输入一行一个正整数 n,接下来一行包含 n 个非负整数,表示集合中的元素 aia_i

输出描述

输出一行一个整数表示答案。

样例

5
0 0 1 1 2
5

【样例 1 说明】 分成两个集合 {0, 1}, {0, 1, 2}, 第一个集合的 mex 为 2,第二个集合的 mex 为 3,两个集合的 mex 之和为 5,这样分集合是最大的。当然也可以分成 {0}, {0}, {1}, {1}, {2},但是这样五个集合的 mex 之和为1+1+0+0+0=2

5
1 2 3 4 5
0

【样例 2 说明】

因为原集合没有 0,所以无论怎么分集合,每一个新集合都不会有 0,所以每一个集合的 mex 都为 0,答案一定为 0.

数据范围

本题共有 10 个测试点

第一个测试点有 0<ai0 < a_i

第二个测试点有 ai=0a_i = 0

第 3-4 个测试点有 0ai10 \leq a_i \leq 1

对于所有测试点,有1n105,0ai1000 1 \leq n \leq 10^5, 0 \leq a_i \leq 1000

牛客 2022 CSP-J 模拟题 (一)

未认领
状态
已结束
题目
8
开始时间
2023-7-29 0:00
截止时间
2023-8-31 23:59
可延期
24 小时