Submission #895067

# Submission time Handle Problem Language Result Execution time Memory
895067 2023-12-29T11:32:15 Z abcvuitunggio Teleporters (IOI08_teleporters) C++17
100 / 100
328 ms 59896 KB
#include <bits/stdc++.h>
using namespace std;
int n,m,w[1000001],e[1000001],c[2000002],p[2000002],nxt[2000002],res,vis[2000002];
priority_queue <int> q;
int main(){
    ios_base::sync_with_stdio(NULL);cin.tie(nullptr);
    cin >> n >> m;
    iota(nxt,nxt+2000001,1);
    for (int i=1;i<=n;i++){
        cin >> w[i] >> e[i];
        p[w[i]]=p[e[i]]=i;
        nxt[w[i]-1]=e[i];
        nxt[e[i]-1]=w[i];
        c[w[i]-1]=c[e[i]-1]=1;
    }
    vis[2000001]=1;
    for (int i=0;i<=2000000;i++){
        if (!vis[i]){
            int s=0,x=i;
            while (!vis[x]){
                s+=c[x];
                vis[x]=1;
                x=nxt[x];
            }
            if (x!=i)
                res=s;
            else
                q.push(s);
        }
    }
    while (!q.empty()&&m){
        res+=q.top()+2;
        q.pop();
        m--;
    }
    cout << res+m+m/2*2;
}
# Verdict Execution time Memory Grader output
1 Correct 11 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 23128 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 23024 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23128 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 23132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 12 ms 23288 KB Output is correct
2 Correct 16 ms 23644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23128 KB Output is correct
2 Correct 13 ms 23388 KB Output is correct
3 Correct 17 ms 23384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23388 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23388 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 35 ms 29268 KB Output is correct
2 Correct 99 ms 40432 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 69 ms 34776 KB Output is correct
2 Correct 135 ms 44500 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 210 ms 49104 KB Output is correct
2 Correct 200 ms 51660 KB Output is correct
3 Correct 197 ms 56164 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 322 ms 54112 KB Output is correct
2 Correct 261 ms 55280 KB Output is correct
3 Correct 218 ms 53840 KB Output is correct
4 Correct 234 ms 54132 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 328 ms 59052 KB Output is correct
2 Correct 301 ms 58720 KB Output is correct
3 Correct 175 ms 58312 KB Output is correct
4 Correct 241 ms 59896 KB Output is correct