Если вы сортируете M (в O (n log n), используя D & I), вы можете проверить в линейном времени, есть ли пара с правильной суммой.(Подсказка: два указателя).
Если вы не думаете, что это будет считаться решением D & I, вы можете сложить шаг проверки в шаг объединения и отсортировать досрочно, если найдете совпадение.
Добавление: если вы выполняете проверку во время комбайна, вы в конечном итоге делаете O (n log n) операций добавления и сравнения вместо O (n) - но, конечно, это не ухудшает асимптотикувремя выполнения за исключением постоянного фактора.