Submission #571575

#TimeUsernameProblemLanguageResultExecution timeMemory
571575Cross_RatioCircle selection (APIO18_circle_selection)C++14
7 / 100
3096 ms18844 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int X[300005];
int Y[300005];
int R[300005];
int ans[300005];
bool used[300005];
signed main() {
    cin.sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int N;
    cin >> N;
    int i, j;
    for(i=0;i<N;i++) cin >> X[i] >> Y[i] >> R[i];
    while(true) {
        int ma = 0;
        int id = -1;
        for(i=0;i<N;i++) {
            if(!used[i]&&ma < R[i]) {
                ma = R[i];
                id = i;
            }
        }
        if(id==-1) break;
        for(i=0;i<N;i++) {
            if(used[i]) continue;
            if((X[i]-X[id])*(X[i]-X[id])+(Y[i]-Y[id])*(Y[i]-Y[id])<=(R[i]+R[id])*(R[i]+R[id])) {
                used[i] = true;
                ans[i] = id;
            }
        }
    }
    for(i=0;i<N;i++) cout << ans[i]+1 << ' ';
}

Compilation message (stderr)

circle_selection.cpp: In function 'int main()':
circle_selection.cpp:15:12: warning: unused variable 'j' [-Wunused-variable]
   15 |     int i, j;
      |            ^
#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...