Submission #163592

#TimeUsernameProblemLanguageResultExecution timeMemory
163592nvmdavaTeleporters (IOI08_teleporters)C++17
100 / 100
437 ms29004 KiB
#include <bits/stdc++.h> using namespace std; #define N 2000001 int to[2000005]; bool in[2000005]; int cnt; int res; void go(int i){ if(in[i] || i > N) return; in[i] = 1; i++; if(to[i]){ i = to[i]; cnt++; } go(i); } vector<int> v; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m; cin>>n>>m; for(int i = 1; i <= n; i++){ int w, e; cin>>w>>e; to[w] = e; to[e] = w; } for(int i = 0; i <= N; i++){ if(!in[i]){ cnt = 0; go(i); if(i == 0) res = cnt; else v.push_back(cnt); } } sort(v.rbegin(), v.rend()); if(m < v.size()) v.resize(m); m -= v.size(); if(m >= 0)res += (m >> 1 << 2) + (m % 2); for(int i : v) res += i + 2; cout<<res; }

Compilation message (stderr)

teleporters.cpp: In function 'int main()':
teleporters.cpp:41:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(m < v.size())
        ~~^~~~~~~~~~
#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...