Submission #744395

#TimeUsernameProblemLanguageResultExecution timeMemory
744395haidara44Circle selection (APIO18_circle_selection)C++17
7 / 100
3083 ms37308 KiB
#include <bits/stdc++.h>

using namespace std;
#define endl '\n'
#define intt long long
#define mid (l+r)/2

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    intt n;
    cin>>n;
    vector<pair<pair<intt,intt>,pair<intt,intt>>>v;
    map<intt,intt>m;
    for(int i=0;i<n;i++)
    {
        intt x,y,r;
        cin>>x>>y>>r;
        v.push_back({{r,-i},{x,y}});
    }
    sort(v.begin(),v.end());
    reverse(v.begin(),v.end());
    for(int i=0;i<n;i++)
    {intt o=-v[i].first.second;
    if(!m[o])
            {intt x=v[i].second.first;
            intt y=v[i].second.second;
            intt r=v[i].first.first;


            for(int j=0;j<n;j++)
            {intt l=-v[j].first.second;
                if(!m[l])
                {
                    intt x1=v[j].second.first;
                    intt y1=v[j].second.second;
                    intt r1=v[j].first.first;

                    intt h=(x-x1)*(x-x1)+(y-y1)*(y-y1);
                    if(h<=(r+r1)*(r+r1))
                    {
                        m[l]=o+1;
                    }
                }
            }}
    }
    for(auto u:m)
        cout<<u.second<<" ";
    return 0;
}
#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...