Олимпиады по информатике. Санкт-Петербург, Россия

Инструкция по работе с проверяющей системой

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

Для решения задач используется проверяющая система PCMS2. С 29 октября по 9 декабря 2018 года проводится пробный тур, во время которого можно познакомиться с проверяющей системой.

Вход в систему

Для входа в систему необходимо получить у вашего учителя логин и пароль. На пробном туре учитель может получить логины и пароли для школьников у районного координатора (инструкция для учителей). На основном туре логины и пароли будут выданы в месте проведения тура.

Вход в систему

После перехода по приведенной ссылке вы попадаете на страницу авторизации, где необходимо ввести полученные у учителя логин и пароль. Вам доступны различные вкладки, основные: "Отправить" - для отправки решения на проверку и "Решения" - для просмотра результатов проверки ваших решений.

Отправка решения на проверку

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

Вы можете использовать следующие языки программирования и соответствующие компиляторы:

  • Borland Delphi
  • Microsoft Visual C++
  • GNU C++
  • Java
  • Python
  • Microsoft Visual C#
  • Free Pascal
  • Pascal ABC.Net
  • Microsoft Visual Basic
  • Free Basic
  • Free Basic, QBasic mode
  • Кумир
  • Digital Mars D
  • Kotlin
  • Haskell
  • Perl
  • PHP
  • Ruby
  • Haskell
  • OCaml
  • Scala

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

Как проходит проверка решения

Присланный вами файл с решением сохраняется на сервере жюри и компилируется. Если компиляция прошла неудачно, вы получаете результат проверки "Compilation Error" (CE), вы также можете посмотреть сообщение о том, почему произошла ошибка компиляции.

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

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

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

Если программа не завершается за отведенное время, указанное в условии задачи, она принудительно завершается и результат на тесте устанавливается "Time Limit Exceeded" (TL).

Если программа пытается использовать более 256 мегабайт памяти, она принудительно завершается и результат на тесте устанавливается "Memory Limit Exceeded" (ML).

Если программа ничего не делает (не использует процессорное время) хотя бы 10 секунд, она принудительно завершается и результат на тесте устанавливается "Idleness Limit Exceeded" (IL).

Если программа завершается с ненулевым кодом возврата или создает исключительную ситуацию (при обычном запуске в Windows это соответствует появлению окна "программа выполнила недопустимую операцию..."), она принудительно завершается и результат на тесте устанавливается "Runtime Error" (RE).

Иначе вывод программы проверяется специальной программой жюри.

Если вывод программы не соответствует формату, описанному в условии, результат на тесте устанавливается "Presentation Error" (PE).

Если вывод программы соответствует формату, описанному в условии, но ответ неправильный, результат на тесте устанавливается "Wrong Answer" (WA).

Если ответ правильный, то результат на тесте устанавливается "OK".

Обратите внимание, чтобы решение проверялось на основном наборе тестов, оно должно правильно работать (получить вердикт OK) на тестах, приведенных в условии.

Просмотр результатов

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

Если решение прошло тесты из примеров в условии, оно подсвечивается желтым и появляется надпись "Принято на проверку". Рядом с ним появляется возможность посмотреть результаты проверки. Вы можете смотреть результаты проверки прямо во время ее выполнения, после окончания проверки на всех тестах результат считается окончательным.

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

Правила и дисквалификация

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

Связь с жюри

Для связи с жюри и техническим комитетом можно использовать email spbmunicipal@gmail.com.