Language: C++

# include "bits/stdc++.h"
using namespace std;
using LL = long long;
using ULL = unsigned long long;
const double PI = acos(-1);
template<class T>constexpr T INF() { return ::std::numeric_limits<T>::max(); }
template<class T>constexpr T HINF() { return INF<T>() / 2; }
template <typename T_char>T_char TL(T_char cX) { return tolower(cX); };
template <typename T_char>T_char TU(T_char cX) { return toupper(cX); };
const int vy[] = { -1, -1, -1, 0, 1, 1, 1, 0 }, vx[] = { -1, 0, 1, 1, 1, 0, -1, -1 };
const int dx[4] = { 0,1,0,-1 }, dy[4] = { 1,0,-1,0 };
int popcnt(unsigned long long n) { int cnt = 0; for (int i = 0; i < 64; i++)if ((n >> i) & 1)cnt++; return cnt; }
int d_sum(LL n) { int ret = 0; while (n > 0) { ret += n % 10; n /= 10; }return ret; }
int d_cnt(LL n) { int ret = 0; while (n > 0) { ret++; n /= 10; }return ret; }
LL gcd(LL a, LL b) { if (b == 0)return a; return gcd(b, a%b); };
LL lcm(LL a, LL b) { LL g = gcd(a, b); return a / g*b; };
# define ALL(qpqpq)           (qpqpq).begin(),(qpqpq).end()
# define UNIQUE(wpwpw)        sort(ALL((wpwpw)));(wpwpw).erase(unique(ALL((wpwpw))),(wpwpw).end())
# define LOWER(epepe)         transform(ALL((epepe)),(epepe).begin(),TL<char>)
# define UPPER(rprpr)         transform(ALL((rprpr)),(rprpr).begin(),TU<char>)
# define FOR(i,tptpt,ypypy)   for(LL i=(tptpt);i<(ypypy);i++)
# define REP(i,upupu)         FOR(i,0,upupu)
 
struct INIT{
    INIT(){
        std::ios::sync_with_stdio(false);
        std::cin.tie(0);
        cout << fixed << setprecision(20);
    }
}INIT;

struct Point{double x,y;};
double dis(Point a,Point b){
  return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
Point tri(Point a, Point b, Point c){
  double a1,a2,b1,b2,c1,c2;
  a1=2*(b.x-a.x);
  b1=2*(b.y-a.y);
  c1=a.x*a.x-b.x*b.x+a.y*a.y-b.y*b.y;
  a2=2*(c.x-a.x);
  b2=2*(c.y-a.y);
  c2=a.x*a.x-c.x*c.x+a.y*a.y-c.y*c.y;
  Point p;
  p.x=(b1*c2-b2*c1)/(a1*b2-a2*b1);
  p.y=(c1*a2-c2*a1)/(a1*b2-a2*b1);
  return p;
}

int n;
Point p[50];


int main(){
    cin >> n;
    REP(i, n)cin >> p[i].x >> p[i].y;
    if(n == 2){
        cout << dis(p[0], p[1])/2.0 << endl;
        return 0;
    }
    double ans = 1000.0;
    REP(i, n)REP(j, n)REP(k, n){
        if(i == j)continue;
        if(i == k)continue;
        if(j == k)continue;
        bool isok = true;
        if(p[i].y/p[i].x - p[j].y/p[j].x < 10e-9 && p[i].y/p[i].x - p[k].y/p[k].x){
            Point u = p[i], v = p[j];
            if(dis(u, v) < dis(p[i], p[k]))v = p[k];
            if(dis(u, v) < dis(p[j], p[k]))u = p[j];
            Point mid = Point{(u.x + v.x)/2.0, (u.y + v.y)/2.0};
            REP(a, n)if(i != a && j != a && k != a)if(dis(mid, p[a]) > dis(mid, p[i]))isok = false;
            if(isok)ans = min(ans, dis(mid, p[i]))
        }else{
            Point x = tri(p[0], p[1], p[2]);
            REP(a, n){
                if(dis(x, p[a]) > dis(x, p[i]))isok = false;
            }
            if(isok){
                ans = min(ans, dis(x, p[i]));
            }
        }
    }
    cout << ans << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:73:51: error: expected ';' before '}' token
   73 |             if(isok)ans = min(ans, dis(mid, p[i]))
      |                                                   ^
      |                                                   ;
   74 |         }else{
      |         ~