#P9143. [THUPC 2023 初赛] 众数

[THUPC 2023 初赛] 众数

题目描述

你有若干个 [1,n][1,n] 内的正整数:对于 1in1 \le i \le n,你有 aia_i 个整数 ii。设 S=i=1naiS = \sum_{i=1}^n a_i

对于一个序列 p1,p2,,plp_1,p_2,\cdots,p_l,定义其众数 maj(p1,p2,,pl)\text{maj}(p_1,p_2,\cdots,p_l) 为出现次数最多的数。若有多个数出现次数最多,则其中最大的数为其众数。

现在你需要把这 SS 个数排成一个序列 b1,b2,,bSb_1,b_2,\cdots,b_S,使得 i=1Smaj(b1,b2,,bi)\sum_{i=1}^S \text{maj}(b_1,b_2,\cdots,b_i) 最大。输出该最大值。

输入格式

第一行一个整数 nn,表示值域。

接下来一行 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n,表示每种数的个数。

输出格式

输出一行一个正整数表示 i=1Smaj(b1,b2,,bi)\sum_{i=1}^S \text{maj}(b_1,b_2,\cdots,b_i) 的最大值。

3
1 3 2
17

提示

样例解释 1

一个达到最大值的序列为 (3,2,3,1,2,2)(3,2,3,1,2,2)

数据范围

对于所有测试数据,1n1051 \le n \leq 10^51a1,a2,,an1051 \le a_1,a_2,\cdots,a_n \le 10^5

题目来源

来自 2023 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2023)初赛。

题解等资源可在 https://github.com/THUSAAC/THUPC2023-Pre 查看。