제출 #1202559

#제출 시각아이디문제언어결과실행 시간메모리
1202559Ghulam_JunaidFinding Routers (IOI20_routers)C++20
97.69 / 100
1 ms328 KiB
#include <bits/stdc++.h> #include "routers.h" using namespace std; vector<int> find_routers(int l, int n, int q){ vector<int> ans(n, 0); if (n == 2){ int lo = 0, hi = l + 1; while (hi - lo > 1){ int mid = lo + (hi - lo) / 2; if (use_detector(mid) == 0) lo = mid; else hi = mid; } ans[1] = 2 * lo; return ans; } for (int i = 1; i < n; i ++){ int last = ans[i - 1], cur = 128; while (last + cur <= l and use_detector(last + cur) == i - 1) cur += 128; int lo = last + cur - 128, hi = min(l + 1, last + cur); while (hi - lo > 1){ int mid = (lo + hi) / 2; if (use_detector(mid) == i - 1) lo = mid; else hi = mid; } ans[i] = 2 * lo - last; } 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...