Submission #120237

#TimeUsernameProblemLanguageResultExecution timeMemory
120237nvmdavaTeleporters (IOI08_teleporters)C++17
100 / 100
477 ms29088 KiB
#include <bits/stdc++.h> using namespace std; #define N 2000001 int to[2000005]; bool in[2000005]; int cnt; 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; } int res; 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()); for(int i = 0; i < v.size() && m--; i++){ res += v[i] + 2; } if(m >= 0)res += (m / 2 * 4) + (m % 2); cout<<res; }

Compilation message (stderr)

teleporters.cpp: In function 'int main()':
teleporters.cpp:41:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i = 0; i < v.size() && m--; i++){
                 ~~^~~~~~~~~~
teleporters.cpp:42:7: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   res += v[i] + 2;
   ~~~~^~~~~~~~~~~
#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...