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

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

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());
            auto [pa,pj]=v[0];
            for(auto [a,j]:v){
                if(j==pj)continue;
                adj[j].push_back({pj,a-pa});
                adj[pj].push_back({j,a-pa});
                pa=a;pj=j;
            }
        }
    set<pii> q;
    q.insert({0,0});
    vector<bool> used(n);
    vector<int> minw(n,INT_MAX);
    int mxw=0,mxcnt=0;
    for(int i=0;i<n;i++){
        auto [w,v]=*q.begin();
        q.erase(q.begin());
        if(w>mxw){
            mxw=w;mxcnt=1;
        }else if(w==mxw)mxcnt++;
        used[v]=true;
        for(auto [u,uw]:adj[v]){
            if(!used[u]&&uw<minw[u]){
                q.erase({minw[u],u});
                minw[u]=uw;
                q.insert({uw,u});
            }
        }
    }
    cout<<mxw<<'\n'<<mxcnt<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms2620 KiB
2Elfogadva0/010ms3636 KiB
3Elfogadva2/23ms2616 KiB
4Elfogadva2/24ms2612 KiB
5Elfogadva2/24ms2612 KiB
6Elfogadva2/24ms2868 KiB
7Elfogadva2/24ms2868 KiB
8Elfogadva2/24ms2896 KiB
9Elfogadva2/27ms3124 KiB
10Elfogadva2/28ms3572 KiB
11Elfogadva2/210ms3908 KiB
12Elfogadva2/216ms4824 KiB
13Elfogadva3/324ms5800 KiB
14Elfogadva3/332ms6028 KiB
15Elfogadva3/346ms9236 KiB
16Elfogadva3/357ms8672 KiB
17Elfogadva3/382ms12084 KiB
18Elfogadva3/361ms6776 KiB
19Elfogadva3/383ms10468 KiB
20Elfogadva3/390ms8912 KiB
21Elfogadva3/3114ms15412 KiB
22Elfogadva3/3107ms15136 KiB