CF2130A.Submission is All You Need
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
对于一个由非负整数组成的多重集 T,我们定义:
- sum(T) 表示 T 中所有元素的和。例如,如果 T={0,1,1,3},那么 sum(T)=0+1+1+3=5。
- mex(T) 表示不在 T 中的最小非负整数。例如,如果 T={0,1,1,3},那么 mex(T)=2,因为 2 是最小的不在 T 中的非负整数。
现在给定一个大小为 n 的多重集 S,其中包含非负整数。初始时,你的得分为 0。你可以进行如下操作任意次(可以为零次,顺序不限):
- 选择 S 的一个子集 S′⊆S(即 S′ 包含 S 当前的部分元素),将 sum(S′) 加到你的得分上,然后从 S 中移除 S′。
- 选择 S 的一个子集 S′⊆S,将 mex(S′) 加到你的得分上,然后从 S 中移除 S′。
请你求出能够获得的最大得分。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 t(1≤t≤103),表示测试用例的组数。
每组测试用例的第一行包含一个整数 n(1≤n≤50)。
第二行包含 n 个整数 S1,S2,…,Sn(0≤Si≤50)。
输出格式
对于每组测试用例,输出一个整数,表示能够获得的最大得分。
输入输出样例
输入#1
2 3 0 1 1 3 1 2 3
输出#1
3 6
说明/提示
在第一个测试用例中,一种可能的最优策略如下:
- 选择 S′={0,1},将 mex(S′)=mex({0,1})=2 加到你的得分上,然后从 S 中移除 S′。此时你的得分为 2,S={1}。
- 选择 S′={1},将 sum(S′)=sum({1})=1 加到你的得分上,然后从 S 中移除 S′。此时你的得分为 3,S=∅。
之后无法再进行操作。可以证明 3 是能够获得的最大得分。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?