Submission #569938

#TimeUsernameProblemLanguageResultExecution timeMemory
5699382017487Circle selection (APIO18_circle_selection)C++14
7 / 100
3091 ms14960 KiB
#include<bits/stdc++.h> using namespace std; struct circle{ //radius,x,y,index int a[4]; }; bool compr(circle p,circle q){ if(p.a[0]==q.a[0])return p.a[3]<q.a[3]; return p.a[0]>q.a[0]; } int main(){ int n;cin>>n; circle c[n]; int eli[n]={0}; for(int i=0;i<n;i++){ cin>>c[i].a[1]>>c[i].a[2]>>c[i].a[0]; c[i].a[3]=i+1; eli[i]=0; } sort(c,c+n,compr); for(int i=0;i<n;i++){ if(eli[c[i].a[3]-1])continue; eli[c[i].a[3]-1]=c[i].a[3]; for(int j=i+1;j<n;j++){ if(eli[c[j].a[3]-1])continue; long long dx=c[i].a[1]-c[j].a[1]; long long dy=c[i].a[2]-c[j].a[2]; long long dr=c[i].a[0]+c[j].a[0]; if(dx*dx+dy*dy<=dr*dr){eli[c[j].a[3]-1]=c[i].a[3];} } } for(int i:eli)cout<<i<<" "; }
#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...