Под знаком Змееносца
Шрифт:
Внимательно присмотревшись к бутылкам и, не касаясь их, Саша подозвал к себе одного из помощников и просил убрать обе бутылки, т. к. они были кем-то вскрыты и в них небольшой осадок. Все их действия отражались на камерах. А Иван записывал разговор на диктофон. Саша достал из карманов куртки две бутылочки воды, купленной на первом этаже и вместе с чеком их продемонстрировал.
Они не вскрывались, и помощник подтвердил и этот факт, и то, что чек реальный. Через минуту один из организаторов принес свои извинения. Саша поднимает правую руку вверх, принимая извинение и буркнул себе под нос: «Хрен вам! Русские не сдаются!»
— Ты с чего, Саш, вспомнил про несдающихся русских?
— Так это один из общевойсковых лозунгов русской армии еще с конца XVIII века. А у нас, как видишь, почти война начинается. Фиг его знает, что могло быть в этих бутылках.
— Снотворное. Там было снотворное, — тихо говорит Иван.
— Ни фига себе! Может, закатить скандал?
— Думаю, не стоит! Они сейчас отдадут в лабораторию и тут же замнут это дело. У них и так полно косяков. Скандал никому не нужен. Но мы это переживем. Сам же напомнил: «Russians don’t give up!»/Русские не сдаются/.
И они ударили кулак в кулак.
На панели появляется первая информация о том, что жеребьевка завершена. Из заявленных к участию 96 команд осталось 83, 13 отказались от участия и покинули зал.
Далее участникам раздают правила турнира и дают 30 минут на ознакомление. Слава Богу, правила без изменений, хотя и драконовские. Но так, наверное, и должно быть. Побеждает сильнейший!
Продолжительность квалификационного тура составляет 2 часа. Ранее он был пробным и его результаты не учитывались. И он давал участникам возможность адаптироваться, ознакомиться с рабочими местами, программным обеспечением и решить несколько простых задач для разминки.
Теперь же все предельно жестко: не решил — выбыл!
Основной тур длится 5 часов. Жюри имеет право продлить тур в случае непредвиденных обстоятельств. Во время основного тура командам предлагается для решения от 8 до 13 задач (против 11 в прошлом году) на утвержденных языках программирования С, C++, Java, Python.
Во время основного тура участники могут общаться между собой и членами технического комитета. Команда может даже обратиться к жюри с вопросом по условию какой-либо задачи.
Вопрос должен быть сформулирован на английском языке. При этом жюри может ответить на поставленный вопрос следующим образом: «Yes»/Да/, «No»/Нет/, «Read the problem statement»/Читайте условие задачи/ или «No comments»/Без комментариев/.
Обхохочешься!!!
Решение проверяется путем последовательного запуска на наборе тестов. С набором тестов никто из участников не знаком. И он одинаков для всех команд. Решение засчитывается только в том случае, если оно выдает верные ответы на все тесты. Набор тестов не предоставляется участникам даже после окончания турнира. Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных данных, описанные в условии каждой задачи.
Кроме того, для каждой задачи определены максимальное время выполнения и объем доступной памяти для одного теста. Если на одном из тестов программа превысила это время или выделила больше памяти, решение считается неверным.
Если решение зачтено, команда получает сообщение Accepted/Принято/.
— Ванька, что подсказывает твое сердце? — неожиданно спрашивает Саша.
— Мое сердце ничего не подсказывает. Оно просто спокойно бьется.
И тут звучит гонг.
— «С Богом!» — шепчет Саша. И они включаются в работу. Работают четко и слаженно, так, как это делают хирурги: без права на ошибку!
Они довольны, что отказались писать на языке Python. У него более низкая скорость работы и более высокое потребление памяти. А это им ни к чему. Поэтому они выбрали С++.
Прошло два часа. Половина заданий выполнена, но расслабляться нельзя. За ними вплотную идут американцы, китайцы, англичане, австралийцы.
Парни настолько отрешены сейчас от действительности, что не замечают, что в зале находятся Римас, Вера и… Арс. Он не удержался и прилетел ночью. А утром появился на лекции отца к величайшей радости мамы.
— Боже мой, как же я их всех люблю! Отец в науке — настоящий Исполин, Колосс! Ему нет равных! — гордится Арс.
Наблюдая сейчас за братом и Иваном, он признает, что в программировании они ушли очень далеко. И сам не замечает, как по-детски зажимает кулаки и шепчет внутрь кулака свое желание: «Победа, победа, победа!»
Зато это замечают и слышат родители и улыбаются.
Пошел последний час. Саша отправляет предпоследнее задание на компиляцию. Напряжение нарастает. Конечно, ребята устали. Жарко! Они сидят без галстуков и пиджаков. Лица в испарине. Оба массируют голову и вгрызаются в последнее задание. Оно не кажется им сложным. И структура вырисовывается мгновенно.
В это время раздается отчаянный вскрик: на табло американской команды появляется пренеприятная строка: Memory limit exceede/Превышен лимит памяти/. Работа решения будет прервана.
— Черт, жалко ребят! — искренне сочувствуют команде соперников.
О своем предпоследнем задании стараются не думать, ведь результата пока еще нет. Что там еще будет…
— Работаем! — командует Саша.
Через несколько минут на табло наконец-то появляется долгожданное Accepted.
— Господи, ну почему, когда финал так близок, хочется расслабиться? — возмущается про себя Саша и командует:
— Don’t relax! /Не расслабляемся!/ Проверяем!
У всех участников для предварительной проверки решения имеются компиляторы. Однако набор функций, доступных программам во время проверки, ограничен.
— Вань, ну что, отправляем?
— Давай еще раз проверим. Что-то меня удерживает.
— Что может быть не так? Думаешь, мы где-то ложанулись?
— Не пойму! Но тревожность сильная. Это на уровне «шестого чувства». Чую, ошибка где-то рядом…
— Твою мать! Времени в обрез! Пролетим ведь!
Вера понимает, что у ребят что-то случилось. Ее сердце разрывается.
— Рим, почему они медлят?
— Солнышко, они успеют, у них в запасе целых 7 минут.
Римас видит, что ребята нервничают и в очередной раз вчитываются в решение задачи. В какой-то момент они неожиданно смотрят друг на друга, затем впериваются в монитор.
— Да что у них там случилось?! — не выдерживает Арсений.
— Сашка, ты тоже это слышал? — спрашивает его Иван.
— Третья строка?
— Ну да! Черт! Там лишний символ!