Проверка представленных решений проводится во время соревнований. Участники посылают решения в жюри с помощью предоставленного программного обеспечения. Жюри компилирует полученное решение перед проверкой с помощью пакетных компиляторов.
Конкретные версии используемых компиляторов и опции компиляции будут сообщены участникам перед началом соревнований. Входные данные для каждой задачи расположены в одном входном файле, имя которого задан в тексте задачи. Программа должна формировать выходной файл с заданны именем. Входные и выходные файлы располагаются в текущей директории
В решениях задач запрещено:
Проверяющие программы используют различные методы контроля за соблюдением данных требований. Команда, которая, по мнению жюри, намеренно нарушает эти условия, дисквалифицируется.
Решение проверяется путем запуска на наборе тестов, который недоступен участникам и является одинаковым для всех команд. Решение засчитывается в том случае, если оно выдает верные ответы на все тесты.
Тестирование производится автоматически, поэтому программы должны в точности соблюдать форматы входных и выходных файлов, описанные в условии каждой задачи. Если не оговорено отдельно, то все входные данные предполагаются корректными и удовлетворяющими всем ограничениям, указанным в условии.
Для каждой задачи указывается максимальное время выполнения для одного теста и максимальный объем памяти, который может быть использован программой. Если на одном из тестов программа превысила это время ограничение по памяти, то решение считается неверным.
По мере готовности команда посылает свои решения в жюри для проверки. После этого команда может продолжать работу над другими задачами. После того как жюри проверит решение (проверка занимает несколько минут), команда получает сообщение с результатами тестирования. Это сообщение появляется на экране и дублируется на специальном бланке. Команде сообщается, зачтено решение (Accepted) или нет (Rejected). Если решение не зачтено, сообщается тип ошибки и номер теста, на котором ошибка произошла.
Решение задач