242522026-02-07 13:06:31abcdMobilNet (50 pont)cpp17Elfogadva 50/50381ms13208 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/04ms2612 KiB
2Elfogadva0/023ms3636 KiB
3Elfogadva2/23ms2612 KiB
4Elfogadva2/24ms2612 KiB
5Elfogadva2/23ms2612 KiB
6Elfogadva2/24ms2876 KiB
7Elfogadva2/26ms2728 KiB
8Elfogadva2/27ms3068 KiB
9Elfogadva2/29ms3168 KiB
10Elfogadva2/218ms3476 KiB
11Elfogadva2/227ms4052 KiB
12Elfogadva2/246ms4892 KiB
13Elfogadva3/370ms5428 KiB
14Elfogadva3/379ms5604 KiB
15Elfogadva3/3163ms8316 KiB
16Elfogadva3/3152ms7732 KiB
17Elfogadva3/3256ms10736 KiB
18Elfogadva3/386ms6520 KiB
19Elfogadva3/3215ms9008 KiB
20Elfogadva3/3138ms8244 KiB
21Elfogadva3/3381ms13108 KiB
22Elfogadva3/3317ms13208 KiB