Submission #102382

#TimeUsernameProblemLanguageResultExecution timeMemory
102382tjdgus4384Circle selection (APIO18_circle_selection)C++14
0 / 100
209 ms8540 KiB
#include<cstdio> #include<algorithm> #include<iostream> #include<vector> using namespace std; vector<pair<pair<int, int>, pair<int, int> > > v; vector<int> answer; bool visited[300002]; bool can(int a, int b){ int ax = v[a].second.first; int ay = v[a].second.second; int bx = v[b].second.first; int by = v[b].second.second; long long int x = (ax - bx) * (ax - bx) + (ay - by) * (ay - by); long long int y = (v[a].first.first + v[b].first.first) * (v[a].first.first + v[b].first.first); return y >= x; } int main(){ int n; scanf("%d", &n); v.resize(n + 1); answer.resize(n + 1); for(int i = 1;i <= n;i++){ scanf("%d %d %d", &v[i].second.first, &v[i].second.second, &v[i].first.first); v[i].first.second = i; v[i].first.first = -v[i].first.first; } sort(v.begin(), v.end()); for(int i = 1;i <= n;i++){ if(visited[i]) continue; visited[i] = true; answer[v[i].first.second] = v[i].first.second; for(int j = i + 1;j <= n;j++){ if(visited[j]) continue; if(can(i, j)){ answer[v[j].first.second] = v[i].first.second; visited[j] = true; } } } for(int i = 1;i <= n;i++){ printf("%d ", answer[i]); } return 0; }

Compilation message (stderr)

circle_selection.cpp: In function 'int main()':
circle_selection.cpp:22:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
circle_selection.cpp:26:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d %d %d", &v[i].second.first, &v[i].second.second, &v[i].first.first);
         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...