# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
102382 | 2019-03-24T14:56:21 Z | tjdgus4384 | 원 고르기 (APIO18_circle_selection) | C++14 | 209 ms | 8540 KB |
#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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 209 ms | 8540 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 256 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 167 ms | 7132 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |