Submission #1356053

#TimeUsernameProblemLanguageResultExecution timeMemory
1356053javkhlantogs원 고르기 (APIO18_circle_selection)C++20
0 / 100
814 ms108452 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>> st1,st2;
	for(i=0 ; i<n ; i++){
		cin>>c[i][0]>>c[i][1]>>c[i][2];
		st1.insert({-c[i][2],i,c[i][0],c[i][1]});
		st2.insert({c[i][0]+c[i][2],i});
		st2.insert({c[i][0]-c[i][2],i});
	}
	while(st1.size()){
		vector<ll> x=*(st1.begin());
		ll l=x[2]+x[0],r=x[2]-x[0];
		auto itr=st2.lower_bound({l,0});
		while(itr!=st2.end()){
			if((*itr)[0]>r) break;
			ans[(*itr)[1]+1]=x[1]+1;
			st2.erase(itr);
			itr++;
		}
	}
	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...