
关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
8447次浏览 175人参与
# TP-LINK工作体验 #
46706次浏览 825人参与
# 实习吐槽大会 #
10967次浏览 48人参与
# 你的办公桌上都有什么? #
6136次浏览 50人参与
# 晒一晒你的工位 #
77599次浏览 258人参与
# 入职第三天,晒晒你的工位 #
30809次浏览 145人参与
# 实习中的菜狗时刻 #
359415次浏览 3274人参与
# 今年形式下双非本找得到工作吗 #
137869次浏览 1042人参与
# Offer比较,求稳定还是求发展 #
52379次浏览 248人参与
# 来选选带哪个offer回家过年 #
659642次浏览 5271人参与
# 工作压力大怎么缓解 #
78057次浏览 929人参与
# 电网笔面经互助 #
33235次浏览 331人参与
# 薪资一样,你会选择去大厂还是小公司 #
19286次浏览 116人参与
# 24届的你们现状如何了? #
69491次浏览 399人参与
# 我的租房踩坑经历 #
1405次浏览 40人参与
# 你的秋招第一场笔试是哪家 #
129406次浏览 1404人参与
# 高学历就一定能找到好工作吗? #
47257次浏览 583人参与
# 想给25届机械人的秋招建议 #
26454次浏览 219人参与
# 25届非技术实习投递记录 #
116332次浏览 969人参与
# 机械人,你的秋招第一份简历被谁挂了 #
137782次浏览 1972人参与