LEM1 - COIN
Tác giả: skyvn97
Ngôn ngữ: C++
#include<stdio.h>
#include<math.h>
#define MAX 10101
#define INF 1e8
#define EPS 1e-5
#define PI acos(-1.0)
double r[MAX];
int n,i;
double sa;
double t,b,m;
double angleA(double a,double b,double c) {
return (acos((b*b+c*c-a*a)/(2*b*c)));
}
int main(void) {
scanf("%d",&n);
for (i=1;i<=n;i=i+1)
scanf("%lf",&r[i-1]);
b=0;t=INF;
while (t-b>EPS) {
m=(t+b)/2;
sa=0;
for (i=0;i<n;i=i+1)
sa=sa+angleA(r[i%n]+r[(i+1)%n],m+r[i%n],m+r[(i+1)%n]);
if (sa<2*PI) t=m; else b=m;
}
printf("%.3lf",b);
}