题解:B4350 [信息与未来 2025] 美味水果
lizeyuhello · · 题解
赛时十几分钟 A 了,来写篇题解。
题意
给定一个长度为
题解
排序后暴力的时间复杂度为
观察数据,得出
考虑贪心,将
这种方法的时间复杂度为
代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, ans;
int a[N];
int calc(int x, int k)
{
int res = x;
for (int i = 1; i <= k; ++i) //计算 x 开根 k 次取整
res = sqrt(res);
return res;
}
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; ++i)
scanf("%d", a + i);
sort(a + 1, a + n + 1, greater<int>()); //降序排序
for (int i = 1; i <= 7; ++i)
ans += calc(a[i], i - 1);
ans += max(0, n - 7); //其它数都是 1,直接加入答案
printf("%d\n", ans);
return 0;
}