Submission #932346

#TimeUsernameProblemLanguageResultExecution timeMemory
932346salmonCircle selection (APIO18_circle_selection)C++14
7 / 100
44 ms1116 KiB
#include <bits/stdc++.h>
using namespace std;

long long int x[5100];
long long int y[5100];
long long int r[5100];
vector<pair<long long int,int>> v;
int N;
bool dead[5100];
int killer[5100];

int main(){

    scanf(" %d",&N);

    for(int i = 0; i < N; i++){
        scanf(" %lld",&x[i]);
        scanf(" %lld",&y[i]);
        scanf(" %lld",&r[i]);

        v.push_back(make_pair(r[i],-i));
        dead[i] = false;
    }

    sort(v.begin(),v.end(),greater<pair<long long int,int>>());

    for(int i = 0; i < N; i++){
        if(dead[-v[i].second]) continue;

        int i1 = -v[i].second;

        for(int j = 0; j < N; j++){
            if(dead[j]) continue;
            if( (long long int)(r[j] + r[i1]) * (r[j] + r[i1]) >= (long long int)(x[j] - x[i1]) * (x[j] - x[i1]) + (long long int) (y[j] - y[i1]) * (y[j] - y[i1]) ){
                dead[j] = true;
                killer[j] = i1;
            }
        }
    }

    for(int i = 0 ; i < N; i++){
        printf("%d ",killer[i] + 1);
    }

}

Compilation message (stderr)

circle_selection.cpp: In function 'int main()':
circle_selection.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     scanf(" %d",&N);
      |     ~~~~~^~~~~~~~~~
circle_selection.cpp:17:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |         scanf(" %lld",&x[i]);
      |         ~~~~~^~~~~~~~~~~~~~~
circle_selection.cpp:18:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |         scanf(" %lld",&y[i]);
      |         ~~~~~^~~~~~~~~~~~~~~
circle_selection.cpp:19:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         scanf(" %lld",&r[i]);
      |         ~~~~~^~~~~~~~~~~~~~~
#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...