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

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

В решениях задач запрещено:

  1. любое использование сетевых средств;
  2. создание и работа с любыми файлами, за исключением тех, которые явно указаны в условии задачи (входные и выходные файлы);
  3. любые попытки сломать систему;
  4. выполнение внешних программ и создание новых процессов;
  5. изменение прав доступа файловой системы;
  6. работа с поддиректориями;
  7. любой ввод/вывод с консоли;
  8. создание и работа с элементами графического интерфейса (окна, диалоги и др.);
  9. работа с внешними устройствами (звук, принтер и др.);
  10. любые другие средства или действия, которые могут нарушить работу программного обеспечения олимпиады.

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

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

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

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

По мере готовности команда посылает свои решения в жюри для проверки. После этого команда может продолжать работу над другими задачами. После того как жюри проверит решение (проверка занимает несколько минут), команда получает сообщение с результатами тестирования. Это сообщение появляется на экране и дублируется на специальном бланке. Команде сообщается, зачтено решение (Accepted) или нет (Rejected). Если решение не зачтено, сообщается тип ошибки и номер теста, на котором ошибка произошла.

Решение задач