#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;
}
sort(c,c+n,compr);
for(int i=0;i<n;i++){
if(eli[i])continue;
eli[i]=c[i].a[3];
for(int j=i+1;j<n;j++){
long long dx=c[i].a[1]-c[j].a[1];
long long dy=c[i].a[2]-c[i].a[2];
long long dr=c[i].a[0]-c[i].a[0];
if(dx*dx+dy*dy<=dr*dr)eli[j]=c[i].a[3];
}
}
for(int i:eli)cout<<i<<" ";
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
3076 ms |
6100 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Execution timed out |
3065 ms |
6144 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Incorrect |
0 ms |
212 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |