Submission #895085

#TimeUsernameProblemLanguageResultExecution timeMemory
895085abcvuitunggioTeleporters (IOI08_teleporters)C++17
100 / 100
266 ms29384 KiB
#include <bits/stdc++.h>
using namespace std;
const int mx=2000001;
int n,m,w,e,c[mx+1],nxt[mx+1],res,vis[mx+1];
priority_queue <int> q;
int main(){
    ios_base::sync_with_stdio(NULL);cin.tie(nullptr);
    cin >> n >> m;
    iota(nxt,nxt+mx,1);
    for (int i=1;i<=n;i++){
        cin >> w >> e;
        nxt[w-1]=e;
        nxt[e-1]=w;
        c[w-1]=c[e-1]=1;
    }
    for (int i=0;i<mx;i++){
        if (!vis[i]){
            int s=0;
            while (!vis[i]){
                s+=c[i];
                vis[i]=1;
                i=nxt[i];
            }
            if (i)
                q.push(s);
            else
                res=s;
        }
    }
    while (!q.empty()&&m){
        res+=q.top()+2;
        q.pop();
        m--;
    }
    cout << res+m+m/2*2;
}
#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...
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...