제출 #810771

#제출 시각아이디문제언어결과실행 시간메모리
810771wortelwormFinding Routers (IOI20_routers)C++17
76.05 / 100
2 ms340 KiB
// #include "grader.cpp" #include "routers.h" #include <bits/stdc++.h> using namespace std; std::vector<int> find_routers(int length, int n, int _q) { vector<int> answers(n); // go to closest (lower_eq) even number int global_upper = length & (~1); for (int i = 1; i < n; i++) { // find router i int minimum = answers[i - 1]; // even, exclusive int lower = minimum; // even, inclusive int upper = global_upper; while (lower + 2 < upper) { int middle = (lower + upper) / 2; if (middle % 2 == 1) { middle --; } int test = minimum + (middle - minimum) / 2 + 1; int result = use_detector(test); if (result < i) { // the number is > middle lower = middle; } else { // the number is <= middle upper = middle; } } answers[i] = lower + 2; } return answers; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...