Submission #906637

# Submission time Handle Problem Language Result Execution time Memory
906637 2024-01-14T15:36:27 Z JakobZorz Teleporters (IOI08_teleporters) C++17
10 / 100
196 ms 28488 KB
#include<iostream>
#include<vector>
#include<queue>
#include<stack>
#include<algorithm>
#include<limits.h>
#include<math.h>
#include<map>
#include<set>
#include<unordered_map>
#include<unordered_set>
#include<iomanip>
#include<cstring>
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
using namespace std;

void solve(){
    int n,m;
    cin>>n>>m;
    vector<int>nxt(2e6,-1);
    vector<bool>vis(2e6);
    for(int i=0;i<n;i++){
        int a,b;
        cin>>a>>b;
        a--;b--;
        nxt[a]=b;
        nxt[b]=a;
    }
    
    priority_queue<int>q;
    int ms=-1;
    for(int i=0;i<2e6;i++){
        if(vis[i])
            continue;
        int curr=i;
        int size=0;
        while(curr<2e6&&!vis[curr]){
            vis[curr]=true;
            if(nxt[curr]==-1)
                curr++;
            else{
                curr=nxt[curr];
                size++;
            }
        }
        if(ms==-1)
            ms=size;
        else
            q.push(size);
    }
    
    while(m&&q.size()){
        ms+=q.top()+2;
        m--;
        q.pop();
    }
    cout<<ms+m+m/2*2<<"\n";
}
 
int main(){
    ios::sync_with_stdio(false);cout.tie(NULL);cin.tie(NULL);
    //freopen("input.in","r",stdin);freopen("output.out","w",stdout);
    int t=1;//cin>>t;
    while(t--)solve();
    return 0;
}

/*
 
3
1
10 11
1 4
2 3

6
 
 */
# Verdict Execution time Memory Grader output
1 Correct 9 ms 8540 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 8792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 8 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8556 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 9 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 10 ms 8540 KB Output is correct
2 Incorrect 10 ms 8540 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 10 ms 8540 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 12 ms 8796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 12 ms 8916 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 32 ms 11220 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 72 ms 13508 KB Output is correct
2 Incorrect 196 ms 19768 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 187 ms 23500 KB Output is correct
2 Incorrect 131 ms 24780 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 183 ms 26708 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 186 ms 28488 KB Output isn't correct
2 Halted 0 ms 0 KB -