Submission #1152375

#TimeUsernameProblemLanguageResultExecution timeMemory
1152375i271828Odašiljači (COCI20_odasiljaci)C++20
42 / 70
10 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);
}

int main(){
	cin>>N;
	for (int i=0;i<N;i++) cin>>X[i]>>Y[i];
	
	memset(mi,-1,N);
	vis[0]=true;

	for (int i=0;i<N;i++){
		ll mind=1LL<<60;
		for (int x=0;x<N;x++){
			if (!vis[x]) continue;
			if (dist(i,x)<mind) mind=dist(i,x), mi[i]=x;
		}
	}
	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);
}

Compilation message (stderr)

In file included from /usr/include/string.h:535,
                 from /usr/include/c++/11/cstring:42,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:48,
                 from odasiljaci.cpp:1:
In function 'void* memset(void*, int, size_t)',
    inlined from 'int main()' at odasiljaci.cpp:21:8:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:59:33: warning: 'void* __builtin___memset_chk(void*, int, long unsigned int, long unsigned int)' specified size between 18446744071562067968 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   59 |   return __builtin___memset_chk (__dest, __ch, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
   60 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...