Submission #1230249

#TimeUsernameProblemLanguageResultExecution timeMemory
1230249neisennFinding Routers (IOI20_routers)C++20
100 / 100
1 ms584 KiB
#include <iostream> #include <utility> #include <set> #include <vector> #include "routers.h" using namespace std; #define pb push_back std::vector<int> find_routers(int l, int n, int q) { cin >> l >> n >> q; vector<int> p; p.pb(0); vector<int> val(l+1, -1); for (int i = 1; i < n; i++){ int lo = 0, hi = l; int ans = -1; while (lo <= hi){ int mid = (lo+hi)/2, ret; if (val[mid] != -1){ ret = val[mid]; } else { val[mid] = ret = use_detector(mid); } if (ret >= i){ hi = mid-1; } else { ans = mid; lo = mid+1; } } int x; if (ans == -1) x = p[i-1]+1; else { ans -= p[i-1]; x = 2*ans+p[i-1]; } p.pb(x); } vector<int> ans; for (int i : p) ans.pb(i); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...