242572026-02-07 16:03:32abcdMobilNet (50 pont)cpp17Elfogadva 50/50395ms13196 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/03ms2800 KiB
2Elfogadva0/023ms3624 KiB
3Elfogadva2/23ms2612 KiB
4Elfogadva2/24ms2612 KiB
5Elfogadva2/24ms2612 KiB
6Elfogadva2/24ms2868 KiB
7Elfogadva2/26ms2868 KiB
8Elfogadva2/28ms2868 KiB
9Elfogadva2/29ms3196 KiB
10Elfogadva2/218ms3564 KiB
11Elfogadva2/226ms4048 KiB
12Elfogadva2/246ms4660 KiB
13Elfogadva3/370ms5424 KiB
14Elfogadva3/379ms5604 KiB
15Elfogadva3/3172ms8180 KiB
16Elfogadva3/3143ms7732 KiB
17Elfogadva3/3307ms10804 KiB
18Elfogadva3/382ms6492 KiB
19Elfogadva3/3239ms9012 KiB
20Elfogadva3/3136ms8244 KiB
21Elfogadva3/3395ms13196 KiB
22Elfogadva3/3365ms13108 KiB