QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#23329 | #2267. Jewelry Size | The_Nobody | WA | 3ms | 4128kb | C++14 | 1.5kb | 2022-03-15 13:15:53 | 2022-04-30 02:49:45 |
Judging History
answer
#include<bits/stdc++.h>
#define ll int
#define Il inline
#define Re register
#define mem(u,v) memset(u,v,sizeof(u))
#define rep(i,a,b) for(Re ll i=(a),KKK##i=(b);i<=KKK##i;i++)
#define drep(i,a,b) for(Re ll i=(a),KKK##i=(b);i>=KKK##i;i--)
#define go(u) for(ll i=head[u],v=e[i].to;i;i=e[i].nxt,v=e[i].to)
#define _go(u) for(ll i=Head[u],v=E[i].to;i;i=E[i].nxt,v=E[i].to)
#define __go(u) for(ll i=Head[u],v=e[i].to;i;i=e[i].nxt,v=e[i].to)
#define writesp(x) write(x),putchar(' ')
#define writeln(x) write(x),puts("")
using namespace std;
//#define getchar nc
inline char nc(){static char buf[10000000],*p1=buf,*p2=buf;return p1==p2&&(p2=(p1=buf)+fread(buf,1,10000000,stdin),p1==p2)?EOF:*p1++;}
Il ll read(){ll sum=0,f=0;char ch=getchar();for(;!isdigit(ch);ch=getchar())f|=(ch=='-');for(;isdigit(ch);ch=getchar())sum=((sum<<1)+(sum<<3)+(ch^48));return f?-sum:sum;}
void write(const ll x){if(x<0){putchar('-');write(-x);return;}if(x>9)write(x/10);putchar(x%10+'0');}
char getc(){char c=getchar();while(c!='*'&&c!='.')c=getchar();return c;}
#define N 110000
ll n;double a[N],mx,Pi=acos(-1),eps=1e-10;
bool pd(int f,double x){
double sum=0;
rep(i,1,n)sum+=asin(1.0*a[i]/(x*2));
// cout<<"DE"<<sum<<endl;
if(f)return sum-Pi>-eps;
return 2*asin(mx/(x*2))-sum>-eps;
}
double erf(int f){
double l=mx/2,r=1000000000.0;
while(r-l>eps){
double mid=(l+r)/2;
// cout<<l<<' '<<r<<endl;
if(pd(f,mid))l=mid;
else r=mid;
}
return pd(f,l)?l:1e10;
}
int main(){
n=read();rep(i,1,n)a[i]=read(),mx=max(mx,a[i]);
printf("%.10lf",min(erf(1),erf(0)));
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 4012kb
input:
5 3 1 6 1 7
output:
3.5444043509
result:
ok found '3.5444044', expected '3.5444044', error '0.0000000'
Test #2:
score: 0
Accepted
time: 2ms
memory: 3828kb
input:
3 500 300 400
output:
250.0000000000
result:
ok found '250.0000000', expected '250.0000000', error '0.0000000'
Test #3:
score: 0
Accepted
time: 2ms
memory: 4012kb
input:
8 2000 3000 4000 2000 3000 4000 2000 3000
output:
3780.9741207118
result:
ok found '3780.9741207', expected '3780.9741206', error '0.0000000'
Test #4:
score: -100
Wrong Answer
time: 3ms
memory: 4128kb
input:
10 602 67 67 67 67 67 67 67 67 67
output:
3003.1407147112
result:
wrong answer 1st numbers differ - expected: '3003.1398170', found: '3003.1407147', error = '0.0000003'