QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#23329#2267. Jewelry SizeThe_NobodyWA 3ms4128kbC++141.5kb2022-03-15 13:15:532022-04-30 02:49:45

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-04-30 02:49:45]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:4128kb
  • [2022-03-15 13:15:53]
  • 提交

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'