Submission #743397

#TimeUsernameProblemLanguageResultExecution timeMemory
743397alvingogoCircle selection (APIO18_circle_selection)C++14
7 / 100
3062 ms25020 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #define AquA cin.tie(0);ios_base::sync_with_stdio(0); #define fs first #define sc second #define p_q priority_queue #define int long long using namespace std; typedef pair<int,int> pii; pii operator+(pii a,pii b){ return {a.fs+b.fs,a.sc+b.sc}; } pii operator-(pii a,pii b){ return {a.fs-b.fs,a.sc-b.sc}; } int dot(pii a,pii b){ return a.fs*b.fs+a.sc*b.sc; } int cross(pii a,pii b){ return a.fs*b.sc-b.fs*a.sc; } int dis(pii a,pii b){ return dot(a-b,a-b); } signed main(){ AquA; int n; cin >> n; vector<pair<pii,int> > vp(n); vector<pii> g; vector<int> from(n,-1); for(int i=0;i<n;i++){ cin >> vp[i].fs.fs >> vp[i].fs.sc >> vp[i].sc; g.push_back({-vp[i].sc,i}); } sort(g.begin(),g.end()); for(int k=0;k<n;k++){ int i=g[k].sc; if(from[i]==-1){ for(int j=0;j<n;j++){ if(from[j]==-1){ if(dis(vp[i].fs,vp[j].fs)<=(vp[i].sc+vp[j].sc)*(vp[i].sc+vp[j].sc)){ from[j]=i; } } } } } for(int i=0;i<n;i++){ cout << from[i]+1 << " "; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...