Опустошённость
Вечером спать я не мог, просто лежал в темноте и смотрел в потолок. По пути в компьютерный класс, где проходило соревнование мы купили бутерброды, колу и шоколад. Город в пятницу вечером необыкновенно оживлён. Всё гудит. Горбы такси. Раздетые люди. Очереди к автоматам с наличными. Розовые вывески. Музыка. Северный акцент охранников на дверях. Мелкий дождик и лужи не остановят запланированного веселья.
Мы пришли и выкатили компьютерные кресла из зала. Остались только наши сиденья и вещи. Компьютеры в классе хорошие, новые. Всё чёрное. Широкие мониторы удобней глазу. Кнопки на клавиатурах нажимаются упруго, твёрдо. Университет сотрудничает с Dell’ом. Но техника неухоженная, парты пыльные и мониторы в отпечатках пальцев. Еду—в холодильник. Цветные фломастеры и бумагу для решений—на парты. Я разложил свою походную библиотеку на соседнем столе. Интересно, спортсмены берут с собой снаряжение, а я полный рюкзак книг и спальный мешок. Десять минут до начала. Мы очень нервничаем словно перед двадцати четырёх часовым боксёрским матчем. Фотографируемся. Взвешиваемся. Подпрыгиваем в возбуждении. В нашей команде Мохамед, студент второго курса, проходящий практику в IBM, и Ану индийская девушка. Соревнование началось в час ночи. Первое задание решено в два тридцать шесть. Мою лицо холодной водой. Я иду на прогулку. Настроение оптимистическое. Ещё две задачи уже почти сданы. Кричащая публика рассаживается по такси, едет домой.
К шести у меня уже сильно болит голова. Пол таблетки парацетамола и двухчасовой сон (с семи до девяти) на мягких креслах в клубной комнате. Укрываюсь спальником. Уже на последней грани. Голова не проходит. Тошнит. Ещё одна таблетка. Даю себе срок до двенадцати. Алгоритм, который я разработал, описывает только 60% возможных случаев. Решаем ещё. В целом на этот вопрос ушло десять часов. Задания не очень сложные и выкладываются на сайт каждые пять—шесть часов, по четыре за раз. Но нужно знать структуры данных: деревья, графы. На них мы срезались. За сутки мы сдали шесть решений из семнадцати. Начали ещё четыре, но не успели довести до конца. Программировать нужно было очень быстро и без ошибок. Мои навыки Jav’ы просто смешны. Поэтому я только писал решения на бумаге и проверял логику кода Мохамеда, наблюдая через плечо. В голове всего две мысли: «главное продержаться» и «больше никогда». Уходить нельзя. Очень тяжело оставаться на ногах двадцать четыре часа.
Мы ничего не едим. Только сладкие батончики прессованных мюсли и пьём воду. За шесть часов до конца в голове туман, отрешённость, полное опустошение. Удовольствие? Дух соревнований? Кажется, кроме компьютерного класса больше нечего нет. На прочтение новых заданий уходят драгоценные минуты. Въедаюсь в текст. По десять раз проскакиваю каждое предложение вопроса. На сообщения не отвечаем. В интерактивной таблице на сайте мы бьёмся за то, чтобы оставаться в первых трёх ста командах. Идём голова к голове. Мы решение, соперники решение. Так и финишировали двести восемьдесят шестыми из девятисот семидесяти одной (286/971). Первые места решили всё за минимальное количество времени. Эти люди наверняка тренируются хотя бы один раз в неделю. Главное, что мы продержались и не сдались. Это не идеальный старт, это не плачевное поражение, это крепкая заявка на будущее. У меня теперь план: час в день посвящаю Jav’e. Новые ощущения смутные. Голова ещё кружится. Я всю ещё люблю программировать.