关注
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
相关推荐
牛客热帖
更多
正在热议
更多
# 26届春招投递记录 #
18584次浏览 133人参与
# 米哈游笔试 #
708056次浏览 1268人参与
# 我的求职总结 #
489314次浏览 6888人参与
# 你遇到过哪些神仙同事 #
144894次浏览 767人参与
# 27届实习投递记录 #
88550次浏览 931人参与
# 金融银行求职进展汇总 #
363134次浏览 1979人参与
# 美团秋招笔试 #
219259次浏览 1198人参与
# 我是XXX,请攻击我最薄弱的地方 #
97883次浏览 649人参与
# 拼多多工作体验 #
63161次浏览 439人参与
# 宁德时代求职进展汇总 #
188476次浏览 710人参与
# 选择和努力,哪个更重要? #
215713次浏览 1586人参与
# Vibe Coding 会干掉初级岗位吗? #
52206次浏览 335人参与
# 实习转正进行时 #
198132次浏览 1171人参与
# 职场吐槽大会 #
361814次浏览 2308人参与
# HR最不可信的一句话是__ #
37107次浏览 186人参与
# 牛油的搬砖plog #
208107次浏览 1337人参与
# 什么专业适合考公 #
73830次浏览 487人参与
# 工作中哪个瞬间让你想离职 #
137199次浏览 810人参与
# 蚂蚁求职进展汇总 #
176239次浏览 1299人参与
# 实习生至暗时刻 #
91127次浏览 939人参与
查看26道真题和解析
小米集团公司福利 868人发布
