Алгоритмическое программирование

Регламент проведения соревнований по номинации «Алгоритмическое программирование»
IX Поволжской открытой олимпиады по информационным технологиям «Волга-IT`17»

Общие положения

Олимпиада по номинации «Алгоритмическое программирование» проводится в два тура. Первый отборочный тур продолжительностью 34 часа проводится заочно с с 14:00 1 апреля до 24:00 2 апреля (Russia Time Zone 3 - MSK +1; Ulyanovsk, Russia is GMT/UTC + 4)

К его участию допускаются все, зарегистрированные в данной номинации не позднее 24 марта. По результатам предварительного тура жюри отбирает в финальный очный тур 20-30 лучших участников (конкретное количество определяется в зависимости от разницы в показателях участников, занявших места с 20-го по 25-е и вместимости компьютерных классов финала).

В отборочном туре участникам будет предложено несколько задач по программированию. Для проведения этого тура используется тестирующая система Contester 2.4. Данные для доступа к системе и исходные тексты пробных задач для проверки доступа будут высланы каждому зарегистрированному участнику по электронной почте в течение 3 дней по завершению регистрации на общем сайте олимпиады. Проверка доступа к тестирующей системе в режиме решения пробных задач проводится от момента рассылки данных для доступа к системе до 24 марта включительно. Для разрешения проблем доступа функций сервера проверки заданий следует обращаться по e-mail, с которого получены регистрационные данные. Результаты решения пробных задач в отборочном туре не учитываются.

Финальный тур проводится в учебных компьютерных классах также с использованием Contester 2.4. Длительность этого тура составляет 4 астрономических часа. Во время основного тура вам будет предложено от пяти до восьми задач.

Перед проведением финального тура вам будет предложено пройти пробный тур. Перед его проведением участникам предоставляются логины и пароли для входа в Windows и доступа к тестирующей системе. Пробный тур будет содержать от одной до трёх задач. Результаты пробного тура не учитываются в общем зачёте. Во время пробного тура вы можете проверить доступность тестирующей системы и выполнить необходимые настройки среды разработки. Сразу после завершения пробного тура участникам будут розданы тексты с условиями задачи.

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

Если у вас возникли проблемы с компьютером, и вы не можете задать вопрос при помощи тестирующей системы, поднимите руку.

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

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

Участники могут составлять решения задач на языках программирования Pascal, C++, C#, Java, Python.

Тестирующая система

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

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

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

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

В решениях задач участникам запрещается:

· создавать каталоги и временные файлы при работе программы;

· осуществлять чтение и запись векторов прерываний;

· любое использование сетевых средств;

· любые другие действия, нарушающие работу проверяющей системы.

Правила вычисления рейтинга.

Место в турнире определяется:

· во-первых, количеством решённых задач (столбец +) и,

· во-вторых, затраченным временем (столбец T).

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

Если задача была сдана правильно, все остальные попытки сдать решение не учитываются.

Что означают результаты проверки решений?

Сообщение Интерпретация
Accepted! Решение удачно скомпилировано и прошло все тесты
Compilation Error Решение содержит синтаксическую ошибку "с точки зрения" серверного компилятора.Выбран неверный язык программирования.Если возникла Compilation Error, участнику становится доступен журнал компиляции (лог) с подробностями ошибки.
Wrong Answer Решение вывело неверный ответ в указанном тесте.Решение содержит неинициализированные переменные
Presentation Error Решение вывело данные не в требуемом формате, не вывело данные целиком или вывело лишние данные.Если решение на Delphi, возможно отсутствует строка uses SysUtils;
Runtime Error При проверке произошла runtime-ошибка (исключение).Решение содержит работу с файлами (кроме input.txt).
Time Limit На указанном тесте решение работало дольше, чем указано в условии.
Memory Limit На указанном тесте решение использовало больше памяти, чем указано в условии.
Security Violation Решение содержит вызовы запрещённых функций.
Checking Решение в данный момент проверяется сервером.

Системы программирования, используемые проверяющими машинами

На проверяющем сервере установлены следующие компиляторы и интерпретаторы:

Visual C++ 2010

Visual C# 2010

Free Pascal 3.0.0

PascalABC.NET 3.2

Python 3.2.5

Java Development Kit 1.7