Submission #291319

#TimeUsernameProblemLanguageResultExecution timeMemory
291319blueCircle selection (APIO18_circle_selection)C++11
7 / 100
3089 ms18916 KiB
#include <iostream>
#include <vector>
using namespace std;

long long sq(long long a)
{
    return a*a;
}

//7 pts: n <= 5000

int main()
{
    long long n;
    cin >> n;

    long long x[n+1], y[n+1], r[n+1];
    for(long long i = 1; i <= n; i++) cin >> x[i] >> y[i] >> r[i];

    vector<long long> kill(n+1, 0);
    long long c;
    r[0] = 0;
    while(1)
    {
        c = 0;
        for(long long i = 1; i <= n; i++) if(!kill[i] && r[i] > r[c]) c = i;
        if(!c) break;
        for(long long i = 1; i <= n; i++)
            if(!kill[i] && sq(x[i] - x[c]) + sq(y[i] - y[c]) <= sq(r[i] + r[c]))
                kill[i] = c;
    }
    for(long long i = 1; i <= n; i++) cout << kill[i] << ' ';
    cout << '\n';
}
#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...