Правила проведения Открытой Олимпиады Университета Иннополис для школьников по предмету информатика

Общая информация и правила

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

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

Допустимые языки программирования

Решением является программа, написанная на одном из языков программирования:

  • C
  • C++
  • Java
  • Pascal
  • Python
  • C#
  • Kotlin

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

Проверка решений

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

Решение принимается на проверку, если оно успешно проходит тесты, приведенные в условии. Далее происходит проверка на заранее подготовленном наборе тестов. После окончания проверки по запросу участника, сделанному с использованием интерфейса автоматической системы проверки решений, участник может получить информацию о результатах проверки своего решения. Какая информация может быть получена участником по каждой подзадаче, указано в условии каждой задачи.

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

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

Жюри оставляет за собой право вводить ограничение на число отправленных участником решений. Информация об ограничениях на посылку решений будет указана на странице «Общая информация» в условиях задач соответствующего тура олимпиады.

Компиляция

При компиляции текста программы, которую участник отправляет на проверку, жюри использует определенные командные строки для компиляции решений:

Компилятор Командная строка
GNU C++ 5.1 (MinGW) g++ -O2 -х с++ -Wl,--stack=67108864 <исходный файл>
GNU C++11 5.1 (MinGW) g++ -O2 -х с++ -D__USE_MINGW_ANSI_STDIO=0 -Wl,--stack=67108864 --std=c++11 <исходный файл>
GNU C++14 5.1 (MinGW) g++ -O2 -х с++ -D__USE_MINGW_ANSI_STDIO=0 -Wl,--stack=67108864 --std=c++14 <исходный файл>
GNU С 5.1 (MinGW) gcc -O2 -х с -Wl,--stack=67108864 <исходный файл>
Visual C++ 2015 cl /F67108864 /O2 /EHs /TP <исходный файл>
Visual C# 2015 csc /optimize <исходный файл>
Java 1.8 javac <исходный файл>
Kotlin 1.1 kotlinc -include-runtime <исходный файл>
Borland Delphi 7.0 dcc32 -сс <исходный файл>
Free Pascal fpc <исходный файл>
Pascal ABC.Net 2.1 pabcnetcc <исходный файл>
Python 3.5 python <исходный файл>

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

Формирование итоговых результатов

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

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

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