Осталась одна задача первого тура регионального этапа Всероссийской олимпиады школьников по информатике 2009 года, которая ещё не разобрана на этом канале. Давайте закроем и её: Довольно серьёзная сложность, приличные входные данные и интересная история. Первое, что необходимо понять, это как среди двух человек выбрать того, кто будет сидеть. Представим двух пассажиров Alice и Bob. Выгодно, чтобы Alice сидела, если выполняется следующее неравенство: С таким условием работать неудобно, потому что придётся сравнивать всех пассажиров попарно. Но если все слагаемые с Alice собрать в одной стороне, а с Bob - в другой: Получается приятное неравенство. То есть можно каждого пассажира независимо оценить и на основе этих оценок составить приоритет на посадку: выгоднее посадить тех, у кого разница a и b максимальна. Второе, что необходимо понять, это как хранить пассажиров. Мы уже знаем, что достаточно знать лишь одно число (разницу), но нам нужны операции "добавить пассажира", "удалить пассажир