Submission #999046

#TimeUsernameProblemLanguageResultExecution timeMemory
999046huutuanTeleporters (IOI08_teleporters)C++14
45 / 100
121 ms23528 KiB
#include<bits/stdc++.h>

using namespace std;

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

int32_t main(){
   ios_base::sync_with_stdio(false);
   cin.tie(nullptr);
   memset(jump, -1, sizeof jump);
   cin >> n >> m;
   for (int i=1; i<=n; ++i){
      int u, v; cin >> u >> v;
      jump[u]=v; jump[v]=u;
   }
   // nxt[N-1]=N;
   // for (int i=N-2; i>=0; --i){
   //    if (jump[i]!=-1) nxt[i]=i;
   //    else nxt[i]=nxt[i+1];
   // }
   // int ans=0, pos=0;
   // while (1){
   //    if (pos==N) break;
   //    pos=nxt[pos];
   //    if (pos==N) break;
   //    ++cnt[min(pos, jump[pos])];
   //    pos=jump[pos]+1;
   //    ++ans;
   // }
   // for (int i=1; i<N; ++i) if (cnt[i]==1){
   //    add[i]=3;
   //    for (int j=i+1; j<jump[i]; ++j) if (jump[j]!=-1 && jump[j]>j && cnt[j]==0 && jump[j]<jump[i]) ++add[i];
   // }
   // sort(add, add+N, greater<int>());
   // for (int i=0; i<N; ++i) if (add[i] && m){
   //    --m;
   //    ans+=add[i];
   // }
   int ans=0;
   m+=n;
   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...