某优化问题的答案是 [1,M][1, M][1,M] 内的整数,存在单调判定函数 check(x),且每次判定的时间复杂度为 O(n)O(n)O(n)。使用二分答案求最小可行值,整体时间复杂度通常为( )。
check(x)
O(nM)O(nM)O(nM)
O(nlogM)O(n \log M)O(nlogM)
O(Mlogn)O(M \log n)O(Mlogn)
O(n+M)O(n + M)O(n+M)