Submission #559422

#TimeUsernameProblemLanguageResultExecution timeMemory
559422AlperenTFinding Routers (IOI20_routers)C++17
99.46 / 100
6 ms332 KiB
#include "routers.h" #include <bits/stdc++.h> using namespace std; const int INF = 1e9; vector<int> find_routers(int len, int n, int q) { vector<int> ans; vector<int> seen(n + 5, INF); ans.push_back(0); int lft = 0; for(int cur = 1; cur < n; cur++){ again: int curlen = ceil(((len - lft) / (n - cur)) * 0.98); int l = lft, r = min(lft + curlen, len) + 1; if(seen[cur] != INF) r = seen[cur] + 1; while(r - l > 1){ int m = l + (r - l) / 2; int x = use_detector(m); seen[x] = min(seen[x], m); if(x >= cur) r = m; else l = m; } if(r == min(lft + curlen, len) + 1){ lft = r - 1; goto again; } l = r - 1; lft = l + (l - ans.back()); ans.push_back(lft); } 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...