Submission #1200443

#TimeUsernameProblemLanguageResultExecution timeMemory
1200443NeltFinding Routers (IOI20_routers)C++20
100 / 100
1 ms332 KiB
#include "routers.h" #include <bits/stdc++.h> #define ll long long #define endl "\n" using namespace std; std::vector<int> find_routers(int L, int n, int q) { vector<int> ans; ans.push_back(0); ll B = n == 2 ? 2e5 : 64; for (ll i = 1; i <= L; i += B) { ll j = min((ll)L, i + B - 1); ll l, r, x = use_detector(min((ll)L, j + 1)); bool ok; while (ans.size() < n and ans.back() + 1 <= j and x != ans.size() - 1) { l = max(i, (ll)ans.back() + 1), r = j; while (l <= r) { ll mid = (l + r) >> 1; if (use_detector(mid) < ans.size()) l = mid + 1; else r = mid - 1; } ans.push_back(2 * r - ans.back()); } } 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...