首页 > 试题广场 >

游游的数组染色

[编程题]游游的数组染色
  • 热度指数:36 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
游游有一个长度为 n 的数组 a,初始时所有元素都是白色的,游游希望选择一些数字涂黑,他的得分计算为:黑色数字的最小值 + 黑色数字的个数。

请你帮他算算,他最高可以得到多少分吧。

输入描述:
每个测试文件内都包含多组测试数据。
第一行一个正整数 T\ (1 \leq T \leq 100),表示测试数据的组数。
接下来对于每组测试数据,输入包含两行。
第一行一个正整数 n\ (1 \leq n \leq 2 \times 10^5),表示数组 a的长度。
第二行 n 个整数 a_i\ (1 \leq a_i \leq 10^9)表示数组 a
(保证所有测试数据中 n,m 的总和都不超过 3 \times 10^5。)


输出描述:
输出 T 行,每行一个整数表示答案。
示例1

输入

1
5
3 5 4 2 2

输出

7

说明

可以选择涂黑所有数字,得分为 2 + 5 = 7 最大。
头像 已注销
发表于 2025-07-18 17:50:07
思路: 因为题目要求最小染黑数字染黑数字个数 可以考虑先将数组排序,在枚举最小染黑数字的下标,然后可以求出染黑数字个数为(下标从开始) #include <bits/stdc++.h> using namespace std; signed main() { int _ = 展开全文