Обхохочешься!!!
Решение проверяется путем последовательного запуска на наборе тестов. С набором тестов никто из участников не знаком. И он одинаков для всех команд. Решение засчитывается только в том случае, если оно выдает верные ответы на все тесты. Набор тестов не предоставляется участникам даже после окончания турнира. Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных данных, описанные в условии каждой задачи.
Кроме того, для каждой задачи определены максимальное время выполнения и объем доступной памяти для одного теста. Если на одном из тестов программа превысила это время или выделила больше памяти, решение считается неверным.
Если решение зачтено, команда получает сообщение Accepted/Принято/.
— Ванька, что подсказывает твое сердце? — неожиданно спрашивает Саша.
— Мое сердце ничего не подсказывает. Оно просто спокойно бьется.
И тут звучит гонг.
— «С Богом!» — шепчет Саша. И они включаются в работу. Работают четко и слаженно, так, как это делают хирурги: без права на ошибку!
Они довольны, что отказались писать на языке Python. У него более низкая скорость работы и более высокое потребление памяти. А это им ни к чему. Поэтому они выбрали С++.
Прошло два часа. Половина заданий выполнена, но расслабляться нельзя. За ними вплотную идут американцы, китайцы, англичане, австралийцы.
Парни настолько отрешены сейчас от действительности, что не замечают, что в зале находятся Римас, Вера и… Арс. Он не удержался и прилетел ночью. А утром появился на лекции отца к величайшей радости мамы.
— Боже мой, как же я их всех люблю! Отец в науке — настоящий Исполин, Колосс! Ему нет равных! — гордится Арс.
Наблюдая сейчас за братом и Иваном, он признает, что в программировании они ушли очень далеко. И сам не замечает, как по-детски зажимает кулаки и шепчет внутрь кулака свое желание: «Победа, победа, победа!»
Зато это замечают и слышат родители и улыбаются.
* * *
Пошел последний час. Саша отправляет предпоследнее задание на компиляцию. Напряжение нарастает. Конечно, ребята устали. Жарко! Они сидят без галстуков и пиджаков. Лица в испарине. Оба массируют голову и вгрызаются в последнее задание. Оно не кажется им сложным. И структура вырисовывается мгновенно.
В это время раздается отчаянный вскрик: на табло американской команды появляется пренеприятная строка: Memory limit exceede/Превышен лимит памяти/. Работа решения будет прервана.
— Черт, жалко ребят! — искренне сочувствуют команде соперников.
О своем предпоследнем задании стараются не думать, ведь результата пока еще нет. Что там еще будет…
— Работаем! — командует Саша.
Через несколько минут на табло наконец-то появляется долгожданное Accepted.
— Господи, ну почему, когда финал так близок, хочется расслабиться? — возмущается про себя Саша и командует:
— Don’t relax! /Не расслабляемся!/ Проверяем!
У всех участников для предварительной проверки решения имеются компиляторы. Однако набор функций, доступных программам во время проверки, ограничен.
— Вань, ну что, отправляем?
— Давай еще раз проверим. Что-то меня удерживает.
— Что может быть не так? Думаешь, мы где-то ложанулись?
— Не пойму! Но тревожность сильная. Это на уровне «шестого чувства». Чую, ошибка где-то рядом…
— Твою мать! Времени в обрез! Пролетим ведь!
Вера понимает, что у ребят что-то случилось. Ее сердце разрывается.
— Рим, почему они медлят?
— Солнышко, они успеют, у них в запасе целых 7 минут.
Римас видит, что ребята нервничают и в очередной раз вчитываются в решение задачи. В какой-то момент они неожиданно смотрят друг на друга, затем впериваются в монитор.
— Да что у них там случилось⁈ — не выдерживает Арсений.
— Сашка, ты тоже это слышал? — спрашивает его Иван.
— Третья строка?
— Ну да! Черт! Там лишний символ!
— Ванька, молодец, вижу! Вот он! Есть, есть! — подпрыгивает Саша и… На 13 секунд раньше американцев отправляет файл.
Звучит гонг! Теперь остается только ждать!
Участники обнимаются, поздравляют друг друга, обмениваются впечатлениями. К Саше устремляются несколько человек с радостными криками. Это его друзья, с которыми он общается в сети. Знакомит их с Иваном. Все хохочут.
Вдруг Саша замолкает, всматриваясь в фигуру мужчины, медленно направляющегося в их сторону с тележкой, уставленной горячим кофе навынос и булочками.
Иван тоже замолкает.
— Вань, ты видишь то же, что и я? Или это глюк?
— По-моему, не глюк, а господин банкир собственной персоной!
— Арс, это ты? — бросается к брату Саша. Как ты здесь оказался?
— Да вот, не утерпел, прилетел за вас поболеть.
— Спасибо тебе!
— Прошу всех, угощайтесь, друзья! — приглашает собравшихся вокруг них ребят Арсений. Горячий кофе с булочкой вам не помешает!
И вот уже тянутся руки к стаканам с кофе. Но народ все прибывает. Раздаются аплодисменты и радостные крики: по заказу Арса подкатывают еще несколько тележек. Теперь хватит на всех!
Арса просит подойти отец. А вокруг Саши и Ивана сразу образуется кольцо, этакий островок дружбы и веселья.
Сашка и Ваня рассказывают анекдоты про программистов. Хохот стоит непрекращающийся. Они даже не видят, как телевизионщики снимают эпизод, который будут показывать по всему миру и в их родном Питере.
Иван на секунду отвлекает Сашу и отводит его в сторону.
— Медленно повернись и посмотри, кто там за колонной.
— Неделин⁈ Откуда?
— Из Питера, откуда еще. Думаю, его отправили следить за нами.
— Да пошел он! Делаем вид, что его нет. Пойдем лучше к маме, а то она никак не доберется до нас. Вон отца и Арса Фрумель захватил, а мамулечка стоит в стороне с Маркусом.
— Мальчишки мои родные! Дайте я вас обниму!
— Мамуль, мы потные.
— Сашенька, бери пакет и идите с Ванечкой в туалет. В пакете влажные салфетки, маленькие полотенца и водолазки для вас. Разберетесь, кому какая.
— Мамулечка, ты самая-самая! — Саша звонко чмокает Веру в щеку. Мы быстро!
— Какие красавцы! — смотрит на них Вера, когда парни через некоторое время выходят в водолазках Stefano Ricci: Сашенька в черной, а Ванечка в темно-серой.
Остановившаяся рядом с Верой дама в возрасте обращается к ней: «Look at you lovely chaps!»/Гляди, какие очаровашки!/
И Вера ей в ответ улыбается.
* * *
Иттен Фрумель беседовал с Римасом. Он был очень недоволен и расстроен тем, что внесение изменений в турнирный порядок провели без согласования с ним.
— Понимаешь, Иттен, лично я ничего не имею против замены пробного этапа на квалификационный. Эта идея в целом неплоха. Она сразу погружает участников в атмосферу борьбы, битвы.
Но я бы все-таки добавил разминочный этап минут на 20–30 для адаптации, разминки. Все-таки надо учитывать тот факт, что каждый из нас привыкает к своей машине. Там все под рукой, можно работать с закрытыми глазами.
А вот сообщать условия турнира надо минимум за полгода. Участники должны быть к этому готовы.
— Полностью согласен с тобой, Римас. Представляешь, в результате необдуманных действий 13 команд покинули турнир. А после квалификационного этапа отсеялись еще 9 команд. Это серьезная потеря. А уж сомнительные вскрытые бутылки с водой, которые поставили ребятам, выступающим под номером 13 — это уже запланированная диверсия.
Римаса такие новости шокировали. Он возмутился. Но даже представить себе не мог, что речь идет о Саше и Ване.
— Сочувствую тем ребятам, которых коснулась такая грязная ситуация. Надеюсь, они не пострадали?
— Нет, нет! Они сами обнаружили вскрытие и сразу же известили организаторов.
— Римас, я очень рад, что ты приехал. Скажи, не хотел бы ты посмотреть работы участников?
— Нет. Ты же знаешь, здесь в числе участников мой сын и внук Нила Горского. Я сожалею, что не присутствовал на открытии турнира. С утра у меня были лекции. Потом мы с супругой заскочили в магазин и приехали, когда основной этап уже начался.