제출 #1369867

#제출 시각아이디문제언어결과실행 시간메모리
1369867hirayuu_ojTeleporters (IOI08_teleporters)C++20
100 / 100
126 ms20312 KiB
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
#define rng(i,l,r) for(int i=(l); i<(r); i++)
#define each(i,x) for(auto i:x)
#define all(x) x.begin(),x.end()
using ll=long long;
#define fi first
#define se second
 
int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int N;cin>>N;
    int M;cin>>M;
    int X=2000001;
    vector<int> p(X,-1);
    rep(i,N){
        int W,E;cin>>W>>E;
        p[W]=E;
        p[E]=W;
    }
    int ans=0;
    vector<int> c;
    vector<int> vis(X,0);
    rep(i,X){
        if(vis[i])continue;
        vis[i]=1;
        int cnt=0;
        int ps=i;
        while(ps<X){
            if(p[ps]!=-1){
                ps=p[ps];
                cnt++;
            }
            ps++;
            if(vis[ps])break;
            vis[ps]=1;
        }
        if(i==0)ans=cnt;
        else c.push_back(cnt);
    }
    sort(all(c));
    while(M>0&&!c.empty()){
        ans+=c.back()+2;
        c.pop_back();M--;
    }
    while(M>=2){
        ans+=4;M-=2;
    }
    if(M)ans++;
    cout<<ans<<"\n";
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…