Здравствуйте, landerhigh, Вы писали:
L>Дело в том, что нет никакой необходимости проводить N поисков по M:
L>В первой последовательности бинарным поиском в интервале [0,M) находим индекс K первой единицы.
L>Проверяем значение, находящемся по этому индексу K в следующей последовательности. Если там 0, то берем следующую последовательность, если тоже 1, то ищем индекс K в этой последовательности на отрезке [0, K]. Повторяем (N раз), пока последовательности не закончатся.
Ага, и сложность вышеописанного алгоритма — O(N * log(M)) в худшем случае:
0 0 ... 0 0 1
0 0 ... 0 1 1
.............
1 1 ... 1 1 1