Только после того как сцену покинул мальчик, рассказавший стих про родину, нам огласили результаты олимпиады. Как и ожидалось, первое место мы не заняли. Хотя в пятёрку вошли. Всё-таки кучка гиков и задротов понаехала. Как я вообще здесь оказался? Неужели я такой же?!

Дальше всё было так, как распланировала Марина Вадимовна. Обед. Экскурсия по городу. Ужин. Секс, но только в моем личном расписании. Сколько бы студенты не слушали наши стоны и скрип кровати, сами оставались равнодушны друг к другу. До сих пор общаются как незнакомые люди.

В следующий день испытаний нам выдали набор логических задач. Для составления программ требовались только стандартные операторы условного перехода и циклы. Всё в рамках программы обучения. Смотрели только правильность построения логики, а по времени только формально ограничивали. Так-то все закончили раньше времени.

Для работы на каждом столе стояло по компьютеру, с установленным на нем «борланд С». Вот такие вот древности!

Как ни странно, но в этом конкурсе были свои аутсайдеры. Некоторые не смогли распознать необходимость использования цикла с проверкой условия в конце цикла. Такой цикл все изучают, но применять его практически негде. И на этой хитрой задаче половина и завалилась. Хоть их программы и работали, но уже не так как требовалось. Вдобавок у некоторых вылезли ошибки по невнимательности. И как результат наша команда была в лидерах, наряду с ещё двумя группами.

Третий день был посвящён работе с массивами. И тут уже проверялась скорость работы программы. Необходимо было отсортировать все элементы базы данных, и как оказалось способов сортировки несколько десятков. Вот сам бы никогда не подумал! И побеждала та команда, которая составит самый скоростной код программы. Вот тут и пригодились мои познания в ассемблере. Так как язык С позволяет делать фрагменты кода на низкоуровневом языке, то и правила при этом не нарушаются. Но вот только немногие знают об этой лазейке, а кто знает, тот не умеет. В состязании счет идет на миллисекунды, и моя программа оказалась самой скоростной. Ну почти… Только один хитрец меня обогнал, но только за счет того, что его программа обрабатывала только половину массива. Как результат, она быстрей в два раза среднего показателя. Но читер и не подумал, что будут сверять правильность результатов работы программы. На этом он и запоролся. Похлопал невинно глазками, сказал «Ой, ошибся!». Мне хотелось его убить за такую наглость, а его только пожалели. Сказали «Ошибся? С кем не бывает!». Ну, хоть в хвост рейтинга скинули мошенника. И я красовался в лидерах общего соревнования. Так же наша команда была первой по среднему времени. Хоть и наши студенты были в середине рейтинга. Но я — молодец. Я нас всех вытянул.

В тот вечер меня ещё и Маша наградила за заслуги. Чуть не сломали кровать!

Следующее задание было на вычисление числа ПИ до миллионного знака. Я сразу заявил, что это бред. Так как этим занимаются, только чтоб крутость компьютера проверить. Алгоритм давно отработан, оптимизирован и выложен в интернет. А нормальные программисты не в курсе, по каким хитрым формулам это всё рассчитывать.

Моё возмущение многие подержали, и мы дружно сломали систему. Организаторы разрешили пользоваться интернетом. Но только для поиска формулы. Нажатием одной кнопочки у всех появился интернет.

Писать код никто не стал, просто скачали. Победила дружба! Все были рады, ну кроме организаторов. Программу тестировали на скорость, но она (и скорость, и программа) оказалась у всех одинакова.

Последний день был уже более продуманный. На стенде были написаны формулы из геометрии. Уравнение прямой, круга и кривой Безье. Каждое уравнение было с пояснительным рисунком, и кратким описанием.

Задание подразумевало коллективную работу. И, похоже, это наше слабое место. Так как коллектив из нас никакой. Нам выдали данные записанные в массив, а из него мы должны получить картинку. Если с кругом ещё понятно: центр и радиус. То с кривой Безье пришлось поломать голову.

Я как лидер группы распределил обязанности. Девочка-мышь (так и не запомнил, как зовут) делала модуль отрисовки круга по данным из массива. Мальчику отдал кривую Безье. Сам же взял себе прямую и общий алгоритм обработки. Накидал им формат входящих данных и исходящих. И мы дружно взялись за работу.

Первой закончила работу мышь. Так как у меня ещё не был готов главный модуль, чтоб проверить работу, то отправил её помогать мальчику. Ну, или стоять над душой — как получится. Сам же мучился с прямой. То ещё занятие! Прямую горизонтальную или вертикальную линию нарисовать легко. Чуть сложней произвольную в пространстве. И совсем сложно по математическим формулам, и неизвестным данным. Нарисовалась одна линия — а я не знаю, так она должна выглядеть или нет.

Вроде сделал, и какой-то рисунок получил из прямых. Но стоило прилепить модуль мыши, как всё пошло к чёрту. Наши рисунки не стыковались. Проверил её — всё верно! Проверил себя — не учёл минус в формуле, и все оказалось зеркально. Поправил и подоспели кривые Безье. Прилепил, и опять не сходится. Этот черт входящие точки местами перепутал! И это «перепутал» мы втроём пятнадцать минут искали. Когда нашли, я ему зарядил подзатыльник за невнимательность, а хотелось дать в глаз.

Как результат, у нас получилась картина. Линиями, кружочками и кривыми был нарисован мотоциклист, едущий по автостраде. Мы тут же подали знак, что закончили. К нам подошли с проверкой и сверились с выданным нам вариантом. Задание было выполнено верно. И нам засчитали время.

Мы были пятыми. Стыд и позор. И я со злостью смотрел на ботана, из-за которого мы столько времени потратили на поиск ошибки. Он даже голову в плечи втянул от стыда.

На следующий день были объявлены результаты. Вначале долго и нудно вспоминали результаты каждого дня соревнований. После подвели итог. Начали с хвоста, и пока добрались до первых мест, я уже поседеть успел от нервов. Третье место занял Таганрог. Остались только мы и ещё кто-то.

— И первое место достаётся Московскому информационно технологическому университету! — Радостно объявляет ведущая. Мы же, получается, заняли второе место. Я только чертыхаюсь и дальше уже не слушаю. Как бы ни радовалась за нас Марина Вадимовна, я был раздавлен. Думал, что всех сильней, а оказалось, москвичи нас опередили.

Довольно скучно прошла церемония вручения грамот. Даже на чисто символический кубок пожопились. У нас же не спортивное соревнование, а умственное. Нам же кубки и деньги ни к чему! Простой бумажки, но всё-таки с гербом, было достаточно для того чтоб отметить наши заслуги. Да ещё и всего одна бумага на группу, представляющую свой институт.

Дальше был банкет и дискотека. Банкет без алкоголя, а дискотека восьмидесятых. Сбежали мы оттуда довольно быстро. Отправились на свою вечеринку.

Все четверо завалились в ресторан, и нормально поели. Потом отправились на очередную экскурсию, будь она не ладна. Уже вечером заскочили в номера переодеться в более неформальную одежду. Оставили клятую грамоту в сейфе. Марина Вадимовна сделала макияж Мыши, а также подкинула более откровенных шмоток. С нами, мальчиками, никаких проблем не возникло — мы и так красивые.

Отправились дружно в клуб. По темноте. На такси. Присутствие всех обязательно. Марина Вадимовна, как главная в группе, заставила тащиться с ней каждого. Возражений она не принимала.

Посидели, послушали выступление какой-то местной группы. А может и заезжей, кто их знает. Хорошо выпили всяких разных коктейлей. Попробовали немного местной кухни. Далеко им до ресторана, что посетили мы сегодня в обед. Платила за всё Марина Вадимовна. Так и сказала: «Ни в чём себе не отказывайте».

После того как в голове зашумел алкоголь, Мышь осмелилась выйти танцевать. Точнее это я её вытянул на танцпол. Не моя идея — меня Маша заставила. Сама же она утянула танцевать нашего черноволосого студента. А потом, по хитрому Машиному плану, мы их оставили танцевать друг с другом. Вот так нехитро расшевелили их. Главное все остались довольны.