Постраничное удаление
Прикольная алгоритмическая задача, которая пригодится на собеседования кандидатов или для вящего удовольствия.
В базе данных есть заранее неизвестное количество контрагентов.
К базе можно выполнять только один вид запроса: спросить сколько контрагентов находится в выдаче на странице номер N.
При этом на странице выдается по 25 контрагентов и контрагенты всегда упорядочены одинаково. На последней странице может быть меньше контрагентов.
К запросу можно выполнить только одно действие: удалить контрагентов, выданных на странице.
При этом будут удалены только те контрагенты, по которым в базе не проходит никаких операций.
Вопрос: Как оптимально выполнить удаление всех контрагентов, которых можно удалить.

UPD: задача вызвала обширное обсуждение на Инфостарте, потому что довольно хитрая алгоритмически. Если любите математические задачки, сходите, почитайте, там интересно.