1 条题解
-
0
自动搬运
来自洛谷,原作者为

lytqwq
..搬运于
2025-08-24 22:12:26,当前版本为作者最后更新于2019-10-28 22:42:48,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
在吃一样量的食物时,明显吃好吃的舒适度最大,所以我们对每种食物的美味度排序,优先吃最美味的食物,然后对吃1,2,3......n种食物的最大舒适度取max,输出就行了。
你以为这个题这么简单吗???坑点1:美味度的sum要开long long 。qwq
坑点2:sum的平方会炸long long。所以我们要用sum先除食物种数再*sum 。qwq
代码如下:
#include<bits/stdc++.h> using namespace std; #define N 300001 int n; int a[N]; long long int sum; double maxn; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } sort(a+1,a+n+1);//排序 for(int i=n;i>=1;i--)//优先吃好吃的食物 { sum+=a[i]; maxn=max(maxn,sum*1.0/(n-i+1)*sum);//先除再乘qwq } printf("%lf",maxn); }为什么我橙题都WA3遍啊QAQ
- 1
信息
- ID
- 4598
- 时间
- 1000ms
- 内存
- 500MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者