Submission #1152389

#TimeUsernameProblemLanguageResultExecution timeMemory
1152389i271828Odašiljači (COCI20_odasiljaci)C++20
42 / 70
8 ms328 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;

const int MAX=1000;
int N=2;
ll X[MAX]={1,2};
ll Y[MAX]={1,2};
int mi[MAX];
bool vis[MAX];

ll dist(int i,int j){
	if (i==-1||j==-1) return 1LL<<60;
	return pow(X[i]-X[j],2)+pow(Y[i]-Y[j],2);
}
/*
7
2 3
3 4
4 5
0 1
3 1
4 2
1 5
*/
int main(){
	cin>>N;
	for (int i=0;i<N;i++) cin>>X[i]>>Y[i];
	
	vis[0]=true;

	for (int i=0;i<N;i++){
		mi[i]=0;
	}
	
	ll mind=0;
	for (int i=0;i<N-1;i++){
		mind=1LL<<60;
		int mini;
		for (int x=0;x<N;x++){
			if (vis[x]) continue;
			if (dist(x,mi[x])<mind) mind=dist(x,mi[x]), mini=x;
		}
		vis[mini]=true;
		
		for (int x=0;x<N;x++){
			if (vis[x]) continue;
			if (dist(x,mini)<dist(x,mi[x])) mi[x]=mini;
		}
	}
	cout<<fixed<<setprecision(8)<<sqrtf(mind/4.0);
}
#Verdict Execution timeMemoryGrader output
Fetching results...