제출 #999003

#제출 시각아이디문제언어결과실행 시간메모리
999003huutuanTeleporters (IOI08_teleporters)C++14
45 / 100
575 ms65536 KiB
#include<bits/stdc++.h>

using namespace std;

const int N=2e6+10;
int jump[N];
int n, m;

int32_t main(){
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);
   cin >> n >> m;
   set<int> st;
   for (int i=1; i<=n; ++i){
      int u, v; cin >> u >> v;
      jump[u]=v; jump[v]=u;
      st.insert(u);
      st.insert(v);
   }
   int cnt=0;
   int ans=0;
   while (st.size()){
      int u=*st.begin(); st.erase(st.begin());
      int v=jump[u];
      st.erase(v);
      ++ans;
      auto it=st.lower_bound(v);
      if (it==st.end() || jump[*it]>=*it){
         ++cnt;
         continue;
      }
      int w=*it;
      st.erase(w); st.erase(jump[w]);
      ans+=3;
   }
   while (m && cnt){
      --m; --cnt;
      ans+=3;
   }
   while (m){
      --m; ++ans;
      if (m){
         --m; ans+=3;
      }
   }
   cout << ans << '\n';
   return 0;
}
#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...