Submission #1318027

#TimeUsernameProblemLanguageResultExecution timeMemory
1318027hasanOdašiljači (COCI20_odasiljaci)C++20
70 / 70
34 ms34664 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' #define dl double #define int long long #define ul uint_fast32_t #define ll int_fast64_t #define dll long double #define ull uint_fast64_t #define spektar this_thread::sleep_for(chrono::milliseconds(50)) const int MAX1=1e3+5; vector<vector<pair<dll,int>>> k(MAX1); vector<int> vis(MAX1); vector<dll> dis(MAX1,2e18); priority_queue<pair<dll,int>,vector<pair<dll,int>>,greater<pair<dll,int>>> q; void solve(){ int n; cin >> n; vector<array<dll,2>> kk(n); for(auto& [a,b]:kk) cin >> a >> b; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ k[i+1].push_back({(dll)sqrt(abs(kk[i][0]-kk[j][0])*abs(kk[i][0]-kk[j][0])+abs(kk[i][1]-kk[j][1])*abs(kk[i][1]-kk[j][1]))/2,j+1}); } //sort(k[i+1].begin(),k[i+1].end()); } q.push({0,1}); dis[1]=0; while(q.size()){ dll a=q.top().first; int b=q.top().second; q.pop(); if(vis[b]) continue; vis[b]=1; for(auto& [c,d]:k[b]){ if(max(a,c)<dis[d]){ dis[d]=max(a,c); q.push({dis[d],d}); } } } dll max1=0; for(int i=1; i<=n; i++){ max1=max(max1,dis[i]); } cout << fixed << setprecision(8) << max1 << endl; } signed main(){ //freopen("input.txt","r",stdin); //freopen("output.txt","w",stdout); ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t=1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...