标签:http its org include arch who img complex erro
Description
Input
Output
高精度的题感觉就有点玄学ac,之前遇到过把%.4lf改成%.4f就过了的,这次也是一样
====回到正题
这题就是二分,只不过变成了浮点数的二分,所以注意精度的处理
// #include <bits/stdc++.h> #include <iostream> #include <complex> #include <cstdio> #include <algorithm> using namespace std; typedef long long LL; const double pi = atan(1)*4; int n,f; double maxr; double pie[10005]; bool oks(double r2){ int total = 0; for (int i=1;i<=n;i++){ // if (r2 - 16 <= fabs(0.00001)){ // cout << "HERE" << pie[i]/r2 << " " << (int)(pie[i] / r2) << endl; // } total += (int)(pie[i] / r2); } if (total >= f+1){ return true; } return false; } double search(double l,double r){ if (r-l <= fabs(0.000001)){ return (l + r) / 2; } double mid = l + (r - l) / 2; if (oks(mid)){ return search(mid,r); } else return search(l,mid); } int main() { // freopen("test.in","r",stdin); int T; scanf("%d",&T); for (int times = 1; times <= T; times ++){ maxr = 0; scanf("%d %d",&n,&f); for (int i=1;i<=n;i++){ scanf("%lf",&pie[i]); pie[i] = pie[i] * pie[i]; maxr = max(maxr,pie[i]); } double ans = search(0,maxr); // cout << ans << " "; printf("%.4f\n",ans*pi); } return 0; }
标签:http its org include arch who img complex erro
原文地址:http://www.cnblogs.com/ToTOrz/p/7435583.html