Submission #1356040

#TimeUsernameProblemLanguageResultExecution timeMemory
1356040javkhlantogsCircle selection (APIO18_circle_selection)C++20
0 / 100
3096 ms51896 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
	ll n,i,j,k,q;
	cin>>n;
	vector<vector<ll>> c(n,vector<ll>(3));
	vector<ll> ans(n+1);
	vector<bool> check(n,0);
	set<vector<ll>> st;
	for(i=0 ; i<n ; i++){
		cin>>c[i][0]>>c[i][1]>>c[i][2];
		st.insert({-c[i][2],i,c[i][0],c[i][1]});
	}
	while(st.size()){
		vector<ll> x=*(st.begin());
		for(j=0 ; j<n ; j++){
			if(check[j]) continue;
			ll xd=c[j][0]-x[2],yd=c[j][1]-x[3],r1=-x[0],r2=c[j][2];
			if(xd*xd+yd*yd>r1+r2) continue;
			ans[j+1]=x[1]+1;
			check[j]=1;
			st.erase({-c[j][2],j,c[j][0],c[j][1]});
		}
	}
	for(i=1 ; i<=n ; i++) cout<<ans[i]<<" ";
	return 0;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...