代码:
#include <bits/stdc++.h>
using namespace std;
long long arr[100005];
int main() {
long long n, m;
cin >> n >> m;
cout << fixed << setprecision(2);
for (int i=1; i<=n; i++) cin >> arr[i];
sort(arr+1, arr+n+1);
long long sum = 0;
for (int i=1; i<=n; i++) {
if (arr[i]*(i-1) >= sum) sum += m;
}
cout << (double)sum/n << ' ';
sum = 0;
for (int i=n; i>=1; i--) {
if (arr[i]*(n-i) >= sum) sum += m;
}
cout << (double)sum/n;
return 0;
}
这份代码可以AC本题,而将double均换为long double后会WA掉第16个点,获得70分。