제출 #563039

#제출 시각아이디문제언어결과실행 시간메모리
563039Bill_00원 고르기 (APIO18_circle_selection)C++14
7 / 100
105 ms15228 KiB
#include <bits/stdc++.h> #define N 1000005 #define ff first #define ss second #define ll long long const ll MAXN = 1e9; using namespace std; ll n; ll x[N], y[N], r[N], ans[N]; ll dist(int i1, int i2){ return (x[i1] - x[i2]) * (x[i1] - x[i2]) + (y[i1] - y[i2]) * (y[i1] - y[i2]); } void solvesubtask1(){ set<pair<ll, ll> > s; for(int i = 1; i <= n; i++){ s.insert({-r[i], i}); } while(s.size()){ int k = s.begin() -> ss; for(int i = 1; i <= n; i++){ if(ans[i] == 0){ if(dist(i, k) <= ((r[i] + r[k]) * (r[i] + r[k]))){ ans[i] = k; s.erase({-r[i], i}); } } } } for(int i = 1; i <= n; i++){ cout << ans[i] << ' '; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for(int i = 1; i <= n; i++){ cin >> x[i] >> y[i] >> r[i]; } if(n <= 5000){ solvesubtask1(); } }
#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...