Submission #402192

#TimeUsernameProblemLanguageResultExecution timeMemory
402192A_DCircle selection (APIO18_circle_selection)C++14
7 / 100
124 ms1100 KiB
#include <bits/stdc++.h> #define int long long #define ii pair<int,int> #define F first #define S second #define du long double using namespace std; const int N=5010; pair<ii,ii> a[N]; int vis[N]; void solve() { int n; cin>>n; for(int i=1;i<=n;i++){ scanf("%lld",&a[i].S.F); scanf("%lld",&a[i].S.S); scanf("%lld",&a[i].F.F); a[i].F.F*=-1; a[i].F.S=i; } sort(a+1,a+n+1); for(int i=1;i<=n;i++){ a[i].F.F*=-1; } int ans=0,t=n; while(t){ ans++; int u=0; for(int i=1;i<=n;i++){ if(vis[a[i].F.S]==0){ vis[a[i].F.S]=a[i].F.S; t--; u=i; break; } } for(int i=1;i<=n;i++){ if(vis[a[i].F.S]==0){ du x=a[i].S.F-a[u].S.F; du y=a[i].S.S-a[u].S.S; du dis=sqrt(x*x+y*y); du re=a[i].F.F+a[u].F.F; if(re>=dis){ vis[a[i].F.S]=vis[a[u].F.S]; t--; } } } } for(int i=1;i<=n;i++){ cout<<vis[i]<<" "; } } main() { int t=1; // cin>>t; while(t--)solve(); } /* 11 9 9 2 13 2 1 11 8 2 3 3 2 3 12 1 12 14 1 9 8 5 2 8 2 5 2 1 14 4 2 14 14 1 */

Compilation message (stderr)

circle_selection.cpp:57:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   57 | main()
      | ^~~~
circle_selection.cpp: In function 'void solve()':
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",&a[i].S.F);
      |         ~~~~~^~~~~~~~~~~~~~~~~~
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",&a[i].S.S);
      |         ~~~~~^~~~~~~~~~~~~~~~~~
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",&a[i].F.F);
      |         ~~~~~^~~~~~~~~~~~~~~~~~
#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...