Submission #762828

#TimeUsernameProblemLanguageResultExecution timeMemory
762828oisOdašiljači (COCI20_odasiljaci)C++14
56 / 70
1090 ms340 KiB
#include <bits/stdc++.h> using namespace std; typedef pair <double, double> pii; #define fi first #define se second pii cord[1005]; int vis[1005], n, qtd; double mid; double dist(pii a, pii b){ return (a.fi - b.fi)*(a.fi - b.fi) + (a.se-b.se)*(a.se-b.se); } void dfs(int u){ vis[u] = 1; qtd++; for(int i = 0; i<n; i++){ if(vis[i] == 0 && dist(cord[i], cord[u]) < mid*mid) dfs(i); } } double buscab(){ double l = 0, r = 2*1e9; while(l < r){ mid = (l+r)/2.0; memset(vis, 0, sizeof(vis)); qtd = 0; dfs(0); if(qtd == n) r = mid-1e-9; else l = mid+1e-9; } return r; } int main(){ cin >> n; cout.precision(9); cout.setf(ios::fixed); for(int i = 0; i<n; i++) cin >> cord[i].fi >> cord[i].se; cout << (buscab())/2.0 << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...