Kitabı oxu: «Игрушка жестокого мажора. Ты удалил мои стратегии, чтобы я проиграла тебе!»
Глава 1
Я не опаздываю. Я создаю интригу.
Так я говорила себе, пока мои кроссовки шлепали по мраморному полу холла элитного IT-колледжа «Синтез». Из открытых аудиторий доносились голоса и дробь клавиш. Хорошо им: уже сидят. А у меня ноутбук выскальзывал из вспотевших пальцев, и на каждом повороте я ждала табличку «402». Сколько ещё до неё? На мне была единственная чистая футболка, выстиранная вчера вечером, и джинсы, которые держались на честном слове и булавке сзади. В руках — ноутбук, который весил больше, чем моя будущая стипендия.
Перед дверью аудитории №402 меня ждал дежурный студент. Артем, кажется. Или Тимур. Неважно. Важно было то, что он скрестил руки на груди, как охранник в ночном клубе для миллионеров.
— Пропуск, — бросил он, даже не глядя мне в глаза. Он посмотрел на футболку, потом на потёртый носок кроссовка. Видимо, искал, к чему бы придраться. Если попросит назвать бренд, скажу: «Мамина стиральная машина». Только бы не дрогнул голос.
— У меня нет пропуска, — сказала я, пытаясь улыбнуться. Голос дрогнул. Черт. — Я Лера Волкова. Стипендиатка. Мне нужно войти, там начинается лекция по алгоритмам.
Артем хмыкнул и остался посреди дверей. Я перестала улыбаться. Сейчас он начнёт объяснять, что я перепутала колледжи.
— Стипендиатка? Из провинции? Слушай, детка, здесь правила едины. Без карточки — ни шагу внутрь. Ректорат следит за дисциплиной. А ты... пахнешь дешевым энергетиком и нарушением регламента.
Он шагнул вперёд. До звонка я могла ещё успеть; теперь приходилось стоять перед его грудью и объяснять, почему имею право учиться. За спиной остановились двое студентов. Потом ещё кто-то. Один притих на полуслове — вот это было хуже всего. Мне уже сделали место для маленькой показательной истерики.
Плакать хотелось, и я злилась уже на себя. В семнадцать лет стримила в общаге на старом ноутбуке, который перегревался так, что можно было жарить яйца. Выгрызала каждого подписчика, считала копейки — и всё-таки получила эту стипендию. А теперь какой-то Артем решал, достаточно ли прилично я выгляжу, чтобы ею пользоваться. Ноутбук скользнул в руках; перехватив его покрепче, я подалась вперёд.
— Сдвинься, — прошипела я.
И протиснулась мимо него. Плечом в плечо. Он не ожидал такого напора, шатнулся назад, а я влетела в аудиторию, захлопнув дверь перед его носом. Сердце грохотало в горле. Да, это выглядело как хамство. Да, они запомнят меня как грубиянку. Но я внутри.
Внутри пахло кондиционером и дорогим кофе. Зал был заполнен. После хлопка двери разговоры стихли, и теперь мне предстояло пройти между этими лицами до свободного места. Я улыбнулась шире, чем хотела: ну что, выступление удалось, где аплодисменты? Никто не улыбнулся в ответ. Пришлось прижать ноутбук к животу, чтобы хотя бы дрожащие руки не так бросались в глаза.
Сначала я посмотрела на задние парты: сесть бы там, переждать. Занято. Свободное место нашлось прямо в первом ряду. Рядом с ним. Ну конечно — после драки за вход тихо спрятаться мне уже не полагалось.
Марк Верещагин. Капитан сборной колледжа, звезда киберспортивной лиги, сын главного инвестора академии. Темные волосы, идеальная осанка, костюм, который стоил моих двух месяцев жизни. Он не смотрел на меня. Он смотрел в свой ноутбук, пальцы летали над клавиатурой с грацией пианиста.
Я села, пытаясь унять дрожь. Открыла свой старый ноутбук. Экран моргнул, загружаясь с трудом. Марк наконец поднял голову. Его глаза были серыми, как асфальт после дождя. Холодными.
— Шнурки развязаны, — сказал он тихо, но в зале стояла такая тишина, что его голос услышали все.
Я посмотрела вниз. Мои шнурки действительно болтались.
— Спасибо за замечание, капитан, — огрызнулась я, завязывая узел с нарочитой медлительностью. — Хотя у тебя, судя по твоему профилю в Steam, тоже есть проблемы с координацией. Последний матч ты слил из-за того, что отвлекся на фанатов.
Зал ахнул. Кто-то хихикнул. Я распрямила плечи. Пусть смотрят. Для меня его красивый профиль был не святыней, а набором матчей: где ошибся, где рискнул, где не успел. Код тоже можно разобрать. Сейчас дадут задачу — и мы выясним, кто здесь зря занимает первый ряд.
Дверь распахнулась снова, и вошла преподавательница, профессор Соколова. Смех умер, как будто его выключили рубильником. Мы остались один на один с системой.
— Открываем IDE, — сухо объявила Соколова. — Мини-тест. Алгоритм быстрой сортировки с модификацией под нечеткие данные. Время — десять минут. Код должен быть рабочим, оптимизированным и написанным с нуля. Никакого копипаста.
Сортировку я знала. Пока в соседнем ряду кто-то без конца стирал одну и ту же строку, у меня уже были условие остановки и разбиение массива. Пальцы наконец перестали дрожать: здесь никому не нужны мои кроссовки. Здесь либо работает, либо нет. Ещё одна проверка границы. Ещё один прогон.
Через семь минут я закрыла последнюю скобку. На моих тестах всё работало. Можно было ещё гонять большие массивы, но я уже откинулась на спинку: сейчас профессор спросит, кто закончил. И первой руку подниму я.
Марк всё ещё печатал. Я косилась на его пальцы: хоть бы заминка, хоть бы вернулся исправить строку. Он набирал дальше, пока я сидела над готовым решением и ждала своего триумфа. Закончив, он потянулся мимо кнопки «Отправить» — к HDMI-кабелю на столе преподавателя. Подключил ноутбук к проектору без спроса. Мне бы за такое уже объяснили правила; Соколова ждала, что появится на экране.
На большом экране вспыхнуло решение. Я сразу нашла знакомый кусок — и тут же потеряла: Марк сделал его короче. Без моей рекурсивной цепочки. У него не копились вызовы, которые я поленилась проверить на длинном массиве. Хотелось ткнуть пальцем хоть в одну ошибку. Не получалось. Зараза. Красиво.
Соколова посмотрела на экран, потом на меня.
— Верещагин, как всегда, вне конкуренции. Волкова, ваш вариант... рабочий. Но примитивный. Вы используете рекурсию там, где нужна итерация. Из-за этого ваша функция падает при больших массивах. Минус балл за архитектурную грамотность.
Примитивный. Я вцепилась в край ноутбука. Рабочий же! На стримах мои скрипты вытягивали то, с чем я месяцами возилась без преподавателя. Но большой массив я сейчас не проверила. Возразить хотелось страшно. Возражение не находилось — и от этого щеки горели ещё сильнее.
Марк отвернулся от экрана и бросил на меня короткий взгляд. Я приготовилась к усмешке: сейчас припомнит координацию. Он уже смотрел дальше. Даже ответить ему было не на что. Лучше бы усмехнулся — тогда можно было хотя бы огрызнуться, а не сидеть рядом со своим недопроверенным кодом.
Глава 2
После пары я вылетела в коридор, чтобы не видеть эти лица. У доски объявлений меня ждала Кира. Дочь ректора, менеджер команды «Вершины», девушка с лицом ангела и душой акулы. Она стояла, прислонившись спиной к пробковой доске, и листала телефон.
— Лера, — протянула она, и её голос звенел, как стекло. — Ты смелая. Или глупая. Разница небольшая.
— Чего тебе? — спросила я, пытаясь пройти мимо.
Кира шагнула в мою сторону, блокируя путь.
— Такие самоучки, как ты, портят статистику лиги. Знаешь, почему? Потому что вас нельзя предсказать. А турниры любят порядок.
Она повернула телефон экраном ко мне. На форуме колледжа уже висела тема: «Баг в системе: новая стипендиатка или мошенница?». Под постом были скриншоты моих старых стримов, вырванные из контекста, с подписями о подозрительных действиях и использовании запрещенного ПО.
— Твоя репутация уже пахнет хуже, чем твои шнурки, — усмехнулась Кира. — Советую уйти добровольно. Пока не стало поздно.
Я схватила телефон, но она отдернула руку.
— Это не шутка, Волкова. Марк не любит, когда ему мешают. А ты мешаешь всем.
У двери я шагнула к тем, кто минуту назад смеялся над моей репликой Марку. Девушка спрятала телефон и отступила, не дослушав моего «слушай». Парень сделал вид, что ищет аудиторию. Пост ещё висел у Киры на экране, а объяснять мне уже было некому.
В тот же вечер я поймала Диму в столовой. Он сидел один, тихий саппорт из второй лиги, парень, который всегда держался в тени.
— Дима, слушай, — я села напротив него, понизив голос. — Мне нужен доступ к внутреннему серверу для проверки логов моих игр. Просто чтобы доказать, что я не читерила. Поможешь?
Дима вздрогнул. Он посмотрел по сторонам, словно ожидая удара. Его глаза расширились от страха.
— Ты сумасшедшая? — прошептал он. — Марк контролирует сеть. Любой несанкционированный вход — это бан. А если я помогу тебе... он уничтожит меня. И тебя.
— Но мы же можем сделать аккуратно...
— Нет! — он резко встал, толкнув стол. — Оставь меня в покое. Я не хочу проблем.
Он ушёл. Стол ещё качался от его резкого движения; я придержала его ладонью, чтобы не звенел поднос. Вокруг спокойно ели. У меня в голове оставалось одно: доступ к логам нужен, а человек, который мог его дать, предпочёл даже не сидеть со мной.
Я убрала ладонь со стола. Поднос больше не звенел, но сидеть здесь и дожидаться, что Дима вернётся, было противно. Логи всё ещё существовали. Они могли закрыть мне доступ, напугать каждого, к кому я подойду, — но самих игр это не меняло. Придётся искать другой вход. Если они не хотят честной игры, я заставлю их играть по моим правилам.
Утром я пришла в аудиторный комплекс раньше всех. Доска объявлений была пустой, кроме одного листа А4. Список стипендиатов. Я подошла ближе. Мое имя было перечеркнуто жирным красным маркером. Рядом, крупным почерком, написано: «Не соответствует критериям эффективности».
Марк стоял у стены, скрестив руки. Он наблюдал за мной.
— Играй сама с собой, дилетантка, — сказал он ровно. — Мир не платит за амбиции. Он платит за результат. А твой результат — ноль.
Я смотрела на красную черту поперёк фамилии. Минус балл можно было отыграть на следующем тесте. А без стипендии я не смогу жить здесь: оплатить общежитие будет нечем. Хотелось сорвать лист, но под маркером оставалось моё имя, и Марк стоял рядом. Он должен был увидеть, как я читаю. Я прочитала надпись ещё раз — вдруг со второго раза в ней найдётся хоть что-нибудь, с чем можно спорить.
Я побежала в общежитие. Комната 314. Моя крепость. Замок. Я бросила рюкзак на кровать и включила ноутбук.
Экран мигнул.
ACCESS DENIED.
Серый фон. Красный текст.
Нет, это ошибка. Я перезагрузилась. Опять. ACCESS DENIED.
Мой личный аккаунт в академической сети, доступ к библиотечным базам, к игровому клиенту, к форуму — всё было заблокировано. Я позвонила в техподдержку.
— Прошу прощения, но блокировка инициирована лично капитаном сборной по решению ректората, — монотонно произнес голос в трубке. — Причина: нарушение протокола безопасности и жалобы менеджмента команды. Обращайтесь в деканат.
Деканат. Жаловаться туда, когда отец Киры — ректор. Отличный маршрут: из пасти акулы прямо в желудок.
Телефон завибрировал. Сообщение от неизвестного номера.
«Не касайся моей игры».
Сообщение я перечитала, подставив вместо «игры» всё, что у меня сейчас отбирали: учёбу, комнату, возможность работать. Он называл это своей игрой. На форуме уже было моё лицо под обвинением, на доске — перечёркнутая фамилия, в трубке — его должность. Куда ни сунься, получишь ещё одно «нет». Стало холодно даже под футболкой. Похоже, ему было мало моего проигрыша на паре; он хотел, чтобы я вообще отсюда исчезла.
Окна выходили на север, и даже днем в комнате царил полумрак. Обычно я этого почти не замечала — сидела за экраном. Теперь откинулась от ноутбука, и до противоположной стены вдруг оказалось слишком мало места. Сделала вдох поглубже. Встать, включить свет? А что потом? Красные буквы останутся теми же.
Я открыла браузер, используя мобильный интернет, который еще работал. Зашла в соцсети Марка. Его последний пост: фото с кубком лиги. Он улыбается. Легкая, уверенная улыбка победителя. Подпись: «Легкость приходит с контролем».
Я закрыла страницу и посмотрела на свое отражение в потемневшем экране ноутбука. Бледная. Потерянная. Живая мишень.
Я подняла телефон, чтобы снова позвонить в техподдержку, и положила его обратно. Они уже назвали мне инициатора. Марк мог сидеть дома, пить свой дорогой кофе и вообще обо мне не думать. Блокировка от этого не исчезнет. А я считала, что худшее в нашем знакомстве — минус балл за сортировку.
За дверью послышались шаги. Кто-то остановился напротив моей комнаты. Я ждала стука, глядя на ручку. Если уже пришли выселять, придётся хотя бы попросить время собрать вещи. Стук так и не раздался.
Я медленно повернула ручку двери.
За дверью моей комнаты оказался Дима. Он не решился войти, только сказал, что Марк перед вечерней тренировкой будет в гримерке. И ушел, пока я не успела снова попросить его о помощи. Я натянула куртку и пошла за ответом сама.
Я ворвалась в гримерку, как штормовое предупреждение, хлопнув дверью так, что зеркало на стене дрогнуло. Пахло дезодорантом. Перед зеркалом теснились баллончики и расчёски — люди заходили сюда готовиться к эфиру, поправить волосы. Я пришла выяснять, почему мне больше не дают учиться. Марк сидел в кресле, залитом тусклым светом монитора, и даже не поднял глаз от телефона. Он смахнул пост, потом ещё один. Я специально хлопнула дверью — не услышать не мог. Значит, ждал, сколько я продержусь перед его креслом, прежде чем начну орать.
— Ты сломал мне карьеру одним щелчком, — выплюнула я, чувствуя, как горло сжимается от злости. — Объяснись.
Он продолжал листать. Я стояла рядом с креслом и видела в его экране мелькающие фотографии. Вот настолько мои заблокированные базы и стипендия занимали капитана: даже палец не остановился.
— Не смей игнорировать меня! — повысила я голос, переходя на личности. — Трусливый кусок кода!
Дверь за моей спиной резко открылась, и Кира влетела внутрь, блокируя выход плечом. Она была безупречна: идеально уложенные волосы, дорогая ткань блузки, запах парфюма, от которого кружилась голова.
— Если ты не уйдёшь сейчас, завтра тебе закроют даже гостевой доступ в сети кампуса, — прошипела она мне на ухо, её ногти впивались в мою кожу. Я посмотрела на её ногти на своём предплечье. Блузка у неё без единой складки, а держит так, что завтра останутся полумесяцы. Значит, камерам этого показывать не собирается.
Я дёрнулась, вырывая руку, и толкнула её плечом. Кира покачнулась, удивлённо моргнув. От неё хотелось отойти, но позади была дверь, которую она только что загородила. Я осталась перед Марком. Пусть считают, что напала на «золотого ребёнка»: подставлять ей руку снова я не собиралась. Сначала он ответит за блокировку.
— Лера, пожалуйста, давай уйдем, — раздался тихий голос Димы. Он стоял на пороге, виновато опустив глаза. — Они уже начали запись нашей перепалки для внутреннего чата курса. Твой гнев станет их контентом.
На Димино «запись» я обернулась к двери. Опять оставят только мои крики; Кирины ногти под рукавом никто не увидит. Нужно было уйти с ним — я понимала. Но Марк в этот момент опустил телефон экраном вниз, и уйти стало почти невозможно. Дождалась. Теперь он хотя бы будет отвечать мне, а не ленте.
— Мне нужен ответ при свидетелях! — крикнула я, развернувшись к Марку. — Прямо сейчас!
Он поднял глаза. Я ждала, что хотя бы теперь разозлится, начнёт спорить, скажет: сама виновата. Марк задержал взгляд на моём лице, потом перевёл на Киру. Будто решал, кому поручить разбираться со мной. От этого спокойствия хотелось крикнуть ещё громче. Марк щёлкнул пальцами, подзывая Киру, и поднялся. Свет в коридоре мигнул, оставив нас в полумраке аварийного освещения. Даже это совпадение выглядело так, будто здание тоже было в его команде.
Pulsuz fraqment bitdi.