This documentation is automatically generated by competitive-verifier/competitive-verifier
#include "lib/algorithm/binary_search.hpp"#pragma once
#include <cmath>
#include <cstdint>
#include <numeric>
/// @brief めぐる式二分探索
template <class T, class F>
T meguru_binary_search(T ok, T ng, F check) {
while (std::abs(ok - ng) > 1) {
T mid = std::midpoint(ok, ng);
(check(mid) ? ok : ng) = mid;
}
return ok;
}
#line 2 "lib/algorithm/binary_search.hpp"
#include <cmath>
#include <cstdint>
#include <numeric>
/// @brief めぐる式二分探索
template <class T, class F>
T meguru_binary_search(T ok, T ng, F check) {
while (std::abs(ok - ng) > 1) {
T mid = std::midpoint(ok, ng);
(check(mid) ? ok : ng) = mid;
}
return ok;
}