Submission #1318133

#TimeUsernameProblemLanguageResultExecution timeMemory
1318133salehhasanliOdašiljači (COCI20_odasiljaci)C++20
28 / 70
106 ms488 KiB
#include <bits/stdc++.h>
using namespace std;

// #pragma GCC optimize("Ofast")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma")
// #pragma GCC optimize("unroll-loops")

#define ll long long
#define int128 __int128_t
#define pii pair<int, int>
#define int long long

#define pb push_back
#define F first
#define S second

#define all(v) (v).begin(), (v).end()
#define rall(v) (v).begin(), (v).end()

#define MOD 1000000007
#define INF (ll)1e18
#define RINF (ll) - 1e18

void cinv(vector<int> &a, int n){for (int i = 0; i < n; i++){cin >> a[i];}}
void coutv(vector<int> &a, int n){for (int i = 0; i < n; i++){cout << a[i] << " ";}}



void solve()
{
  int n;
  cin>>n;
  vector<pair<int,int>>q11;
  for(int i = 0;i<n;i++){
    int x,y;
    cin>>x>>y;
    q11.push_back({x,y});
  }
  sort(q11.begin(),q11.end());
  long double l = 0,r = 1e18;
  long double ans = 0;
  while((r-l)>(long double)1/1e7){
    long double mid = (l+r)/(long double)2;
    vector<long double>dx = {mid, -mid, 0, 0};
    vector<long double>dy = {0, 0, mid, -mid};
    set<int>q1;
    for(int i = 0;i<n;i++){
      q1.insert(i);
    }
    for(int i = 0;i<n-1;i++){
      int qqqq = 0;
      for(int j = i+1;j<n;j++){
        bool g = false;
        long double q = q11[i].F, y = q11[i].S;
        long double e = q11[j].F, r = q11[j].S;


        long double g11 = (q-e)*(q-e)+(y-r)*(y-r);
        long double q11 = 4*mid*mid;
        if(g11<=q11){
          if(q1.find(j)!=q1.end()){
            q1.erase(j);
            qqqq++;
          }

        }
        // cout<<i<<" "<<j<<" "<<g11<<" "<<q11<<endl;

      }
      if(qqqq>0){
        if(q1.find(i)!=q1.end()){
            q1.erase(i);
          }
      }
    }
    if(q1.size()==0){
          ans = mid;
          r = mid;
        } 
        else{
          l = mid;
        }
       // cout<<setprecision(7)<<fixed<<ans<<" "<<l<<" "<<r<<" "<<q1.size()<<endl;
       // cout<<endl;
  }
  cout<<setprecision(7)<<fixed<<min(l,r)<<endl;
}

signed main()
{
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int t = 1;
  // cin >> t;
  while (t--)
  {
    solve();
  }
}
#Verdict Execution timeMemoryGrader output
Fetching results...