242582026-02-07 16:04:27abcdMobilNet (50 pont)cpp17Elfogadva 50/50363ms13216 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
using pii=pair<int,int>;

/*
11
1 2 1 5 7 4 3 2 3 5 5 1 5 4 3 1 5 7 7 7 1 6
*/

const int maxn=100001;
map<int,vector<pii>> x,y;
bool vis[maxn];
vector<int> adj[maxn];
int n;

void dfs(int v){
    vis[v]=true;
    for(int u:adj[v]) {
        if(!vis[u])dfs(u);
    }
}

bool good(int t){
    for(int i=0;i<n;i++)adj[i].clear();
    for(auto& xy:{x,y}){
        for(auto& [i,v]:xy){
            auto [pa,pj]=v[0];
            for(auto& [a,j]:v){
                if(j==pj)continue;
                if(a-t<=pa){
                    adj[j].push_back(pj);
                    adj[pj].push_back(j);
                }
                pa=a;pj=j;
            }
        }
    }
    for(int i=0;i<n;i++)vis[i]=false;
    int cnt=0;
    bool ok=true;
    for(int i=0;i<n;i++){
        if(!vis[i]){
            if(cnt==1){
                ok=false;break;
            }
            dfs(i);
            cnt++;
        }
    }
    return ok;
}

int main(){
    ios::sync_with_stdio(false);cin.tie(0);
    cin>>n;
    for(int i=0;i<n;i++){
        int a,b;cin>>a>>b;
        x[a].push_back({b,i});
        y[b].push_back({a,i});
    }
    for(auto xy:{x,y})
        for(auto& [i,v]:xy)sort(v.begin(),v.end());
    ll l=1,r=1e7,t=-1;
    while(l<r){
        ll m=(l+r)/2;
        if(good(m)){
            r=m;
            t=m;
        }else l=m+1;
    }
    cout<<t<<'\n';
    bool _=good(t-1);
    for(int i=0;i<n;i++)vis[i]=false;
    int cnt=0;
    for(int i=0;i<n;i++){
        if(!vis[i]){
            dfs(i);
            cnt++;
        }
    }
    cout<<cnt-1<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms2612 KiB
2Elfogadva0/023ms3636 KiB
3Elfogadva2/23ms2612 KiB
4Elfogadva2/24ms2616 KiB
5Elfogadva2/23ms2612 KiB
6Elfogadva2/24ms2868 KiB
7Elfogadva2/24ms2940 KiB
8Elfogadva2/28ms2884 KiB
9Elfogadva2/29ms2916 KiB
10Elfogadva2/217ms3380 KiB
11Elfogadva2/226ms4060 KiB
12Elfogadva2/245ms4660 KiB
13Elfogadva3/370ms5468 KiB
14Elfogadva3/381ms5564 KiB
15Elfogadva3/3167ms8184 KiB
16Elfogadva3/3144ms7732 KiB
17Elfogadva3/3307ms10804 KiB
18Elfogadva3/385ms6512 KiB
19Elfogadva3/3218ms9164 KiB
20Elfogadva3/3150ms8344 KiB
21Elfogadva3/3363ms13108 KiB
22Elfogadva3/3342ms13216 KiB