Открытая олимпиада по программированию

www.olympiads.ru

Telegram канал олимпиады
Telegram чат олимпиады
Новости
Информация об олимпиаде
График проведения и правила отбора
Правила проведения отборочного этапа
Заочный этап
Условия задач
Текущие результаты
Регистрация и вход
Персональная страница
Правила заочного этапа
Часто задаваемые вопросы

Генеральный спонсор олимпиады
фирма 1С

Олимпиада проводится при поддержке
ЦРИТО МФТИ

и компании Яндекс

Партнёром олимпиады является
платформа Codeforces.com

Олимпиады прошлых лет
2021/22
2020/21
2019/20
2018/19
2017/18
2016/17
2015/16
2014/15
2013/14
2012/13
2011/12
2010/11
2009/10
2008/09
2007/08
2006/07

XVI Открытая олимпиада школьников по программированию, 2021/22 учебный год

Часто задаваемые вопросы

Как подать заявку для участия в олимпиаде?

Заявку подавать не нужно, заявкой является регистрация в тестирующей системе.

Могут ли принять участие в олимпиаде не школьники?

В олимпиаде могут принять участие все желающие, но на очный этап приглашаются только школьники. Не-школьникам нужно при редактировании информации в тестирующей системе указать правильный статус и в поле “Регион” указать “Участник вне конкурса“.

Как зарегистрироваться в тестирующей системе?

Регистрация в системе состоит из двух шагов. На первом шаге вы указываете желаемый login и e-mail и вам высылается пароль на электронную почту. Далее вы должны зайти по ссылке, указанной в письме, чтобы продолжить регистрацию.
Второй шаг заключается в том, чтобы указать информацию о себе (фамилию, имя и др.) и дальше подтвердить регистрацию.
Лишь после обоих шагов вы сможете зайти на страницу сдачи решений.

Что нужно указывать в полях “Учебное заведение” и “Учебное заведение (аббревиатура)” при регистрации?

В поле “Учебное заведение” нужно указать полное название учебного заведения в соответствии с уставом. В поле “Учебное заведение (аббревиатура)“ — простое название, как оно будет выглядеть в таблице результатов, например, “Школа №1234”.

Я не получил пароль на почту!

Посмотрите папку “Спам” в почте. Если письма нет и там, то попробуйте зарегистрироваться заново, используя почтовый адрес в домене @yandex.ru или @gmail.com.

Я забыл свой пароль, что делать?

Воспользуйтесь ссылкой для восстановления пароля на странице регистрации. Новый пароль будет выслан вам на адрес электронной почты, указанный при регистрации.

Как сдавать решения на проверку?

На проверку отправляется исходный текст программы на одном из допустимых языков программирования. Обычно процесс проверки занимает не более 1-3 минут, однако иногда по техническим причинам может проходить и большее время. Все решения, посланные на проверку, рано или поздно будут проверены.

Что нужно выбирать в пункте “Желаемый тип концов строк”?

Проверка решений участников производится в ОС Linux, концы строк в которой кодируются одним байтом с 16-ричным ASCII-кодом 0A. В большинстве случаев (если вы пользуетесь стандартными функциями языка программирования для чтения данных) выбирать ничего не нужно, входные данные будут читаться корректно.
Но в некоторых ситуациях (как правило, в задачах, в которых входные данные являются некоторым многострочным текстом), решение участника может считывать входные данные посимвольно, определяя концы строк по значению ASCII-кодов считанных символов. В этом случае решение участника, разработанное для системы Windows, может предполагать, что концы строк кодируются двумя байтами (0D 0A), поэтому в тестирующей системе решение будет работать неправильно. Чтобы концы строк во входных данных задавались, как в системе Windows, необходимо задать значение этого параметра в CRLF (Windows/DOS).

Почему решение прошло все тесты, но получило меньше 100 баллов?

Обратите внимание на условия задач. Тестирование на некоторых тестах (offline-тесты) проводится “втемную”, вы узнаете результаты этого тестирования только после окончания отборочного этапа. Поэтому нужно уделить большое внимание тестированию своих решений.

Что означает “Неправильный формат вывода” в протоколе проверки?

Это означает, что вывод программы не соответствует тому, что написано в условии задачи. Например, по условию задачи программа должна вывести одно число, а выводит два, или выводит дополнительные текстовые сообщения, или вообще ничего не выводит. Наиболее частыми причинами этого явлется наличие вывода дополнительных (отладочных) сообщений, указание неправильного имени выходного файла, сдача решения другой задачи или же ошибка в программе.

Что означает “Ошибка выполнения” в протоколе проверки?

Это означает, что программа при выполнении совершает некорректную операцию. Возможные причины ошибки выполнения (список неполный):

  • Деление на 0 или взятие остатка от деления на 0.
  • Переполнение переменной.
  • Выход за границы массива.
  • Недопустимое значение аргумента при использовании математических функций (например, sqrt(-1) или asin(2)).
  • Ошибки при работе с указателями или динамической памятью.
  • Переполнение стека, в программах на языке Python — превышение максимально допустимой глубины рекурсии.
  • При файловом вводе-выводе неверно указаны имена файлов.
  • Ошибки в тексте программы в интерпретируемых языках (Python, PHP, Perl).

Что означает “Нарушение правил безопасности” в протоколе проверки?

Это означает, что программа выполняет действие, запрешенное настройками безопасности тестирующей системы. Как правило, это происходит при попытке выполнить какой-либо системный вызов, например, system("pause") в программах на C или C++.

Почему программа не проходит тесты из условия, хотя на моем компьютере работает правильно?

Как правило, наиболее вероятные причины этого следующие:

  1. Программа читает строку при помощи стандартных функций языка программирования, например, getline в C/C++, input в Python, при этом при сдаче программы желаемый тип концов строк установлен в CRLF. В этом случае программа при тестировании может считать лишний байт с кодом 0D, который в операционной системе Linux не будет восприниматься, как служебный символ конца строки. Пересдайте программу, не устанавливая параметр “желаемый тип концов строк” при отправке решения.
  2. Наоборот, программа читает данные посимвольно, концы строк анализируются непосредственно в программе, сравнивая значения считанных символов с кодами 0D и 0A. При такой технологии чтения входных данных необходимо при сдаче программы указать желаемый тип концов строк CRLF.
  3. Программа читает данные из файла, при этом данные считываются посимвольно до конца файла или как строки. В тестирующей системе последняя строка входных данных завершается символом конца строки, в то время как участник олимпиады при отладце программы на своем компьютере использует входные файлы, не содержащие символа конца строки в конце файла. Необходимо добавить в конец тестового файла символ конца строки и еще раз проверить программу на своем компьютере.
  4. Программа содержит ошибку, из-за которой программа может по-разному выполняться на разных компьютерах. Как правило, такой ошибкой является отсутствие инициализации переменной или выход за границы массива.

У меня есть вопрос по условию (по проверке), как его задать?

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

Почему мои баллы уменьшились после сдачи нового решения?

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

Почему я не могу скачать исходные коды сданных решений?

Это сделано для того, чтобы другие участники не могли получить ваши решения, если вы, например, вошли в тестирующую систему на чужом компьютере, а потом забыли выйти из нее. В этом случае жюри может дисквалифицировать в том числе и автора решения, даже если он написал решение честно и самостоятельно.

Я сдал решение, потом исправил его и получил меньший балл (я случайно удалил файл с решением). Как мне получить исходный код сданного ранее решения?

Участники олимпиады должны самостоятельно заботиться о сохранности своих файлов и различных вариантов решений. Мы рекомендуем сохранять все промежуточные версии ваших решений, если они содержат существенные изменения.
Также советуем обратить внимание на “облачные” сервисы хранения данных. Например, облачный сервис Dropbox хранит все версии файлов и позволяет восстанавливать удаленные файлы в течение 30 дней.

Какие льготы получают призеры олимпиады? Примут ли меня в вуз без экзаменов?

Школьники, ставшие призерами отборочного этапа приглашаются на заключительный этап, который планируется провести в марте 2021 года. Призеры заключительного этапа могут получить льготы при поступлении в вуз в соответствии с порядком приема в вузы. При этом вузы самостоятельно определяют льготы для призеров олимпиад школьников в зависимости от уровня олимпиады.
Призеры отборочного этапа олимпиады никаких льгот не имеют.