关注
include <bits/stdc++.h>
using namespace std;
#define int long long
(54686)#define vi vector<int>
#define pi acos(-1)
double ebs = 1e-6;
double getM1(double s) {
return sqrt(s * 4 * pi);
}
double getM2(double s, int x) {
return sqrt(s * x * 4 * tan(pi / x));
}
void solve() {
int n, len;
cin >> n >> len;
vi a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
auto check = [&](double x) {
double sum = 0;
for (int i = 0; i < n; i++) {
if (a[i] == -1) {
sum += getM1(x);
} else {
sum += getM2(x, a[i]);
}
}
return sum <= len;
};
double l = 0, r = len / 4.0 / pi * len;
while (r - l >= ebs) {
double m = (l + r) / 2;
if (check(m)) l = m;
else r = m;
}
cout << l << '\n';
}
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}
// S1 = x * (n / x)^2 / 4tan(2pi / x / 2) = n * n / x / 4tan(pi / x)
// n^2 = S1 * x * 4tan(pi / x)
// S2 = (n / 2pi)^2 * pi = n * n / 4pi
// n^2 = S2 * 4pi
查看原帖
点赞 2
相关推荐
查看4道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
299661次浏览 2649人参与
# 如果不工作真的会快乐吗 #
58999次浏览 515人参与
# 北方华创开奖 #
26459次浏览 285人参与
# 地方国企笔面经互助 #
3746次浏览 10人参与
# 美团求职进展汇总 #
1326963次浏览 12446人参与
# 选完offer后,你后悔学本专业吗 #
19753次浏览 143人参与
# 百度开奖 #
161707次浏览 970人参与
# 正在实习的你,几点下班 #
51740次浏览 387人参与
# 国央企薪资爆料 #
8157次浏览 67人参与
# 如何一边实习一边秋招 #
991965次浏览 12638人参与
# 提前批简历挂麻了怎么办 #
146376次浏览 1948人参与
# 学历or实习经历,哪个更重要 #
50918次浏览 402人参与
# 海康威视求职进展汇总 #
398700次浏览 3405人参与
# 米哈游求职进展汇总 #
175834次浏览 1458人参与
# 求职遇到的搞笑事件 #
70725次浏览 576人参与
# 投递实习岗位前的准备 #
1179028次浏览 18392人参与
# 面试体验感最好的是哪家? #
85036次浏览 845人参与
# 实习生应该准时下班吗 #
167379次浏览 1159人参与
# 得物求职进展汇总 #
66191次浏览 682人参与
# 网申一定要掌握的小技巧 #
5315次浏览 53人参与
# 招聘要求与实际实习内容不符怎么办 #
10243次浏览 273人参与
# 0offer是寒冬太冷还是我太菜 #
898023次浏览 8010人参与