---
metadata:
  - name: generator
    content: Diplodoc Platform v5.48.2
alternate:
  - https://admin.contest.yandex.ru/docs/en/problem/main-problem.md
  - https://admin.contest.yandex.ru/docs/ru/problem/main-problem.md
---
> **Documentation Index:** Fetch the complete configuration index at https://admin.contest.yandex.ru/docs/ru/llms.txt

# Настройки

Чтобы создать задачу:

1. На вкладке [Задачи](https://admin.contest.yandex.ru/problems/) нажмите кнопку **Создать задачу**.
2. Придумайте название. Оно будет отображаться в интерфейсе участника.

Откроется страница с настройками задачи.

## Общее {#common}

#### Короткое название задачи

Короткое название поможет быстрее искать задачу в списке.

#### Название

Это название увидят участники. Можно указать названия на русском и английском языках.

#### Тип задачи {#type}

В Контесте можно создавать задачи разных типов.

1. Задачи по программированию:

    * **PROBLEM_WITH_CHECKER**&nbsp;— стандартные задачи по программированию. Система запускает код решения участника и подает на вход данные из тестов. Полученный ответ сравнивается с эталонным, указанным в системе.
    * **INTERACTIVE_PROBLEM**&nbsp;— интерактивные задачи. Кроме текста задачи и тестов вам нужно подготовить специальную программу-интерактор. Система сначала запускает эту программу, затем полученные данные подает на вход решения участника, получает ответ и подает его обратно в интерактор.

2. Задачи, где ответ нужно дать в поле ввода `<input>`:

    * **TEST_PROBLEM**&nbsp;— задача, в которой нужно выбрать один или несколько ответов из числа предложенных.
    * **TEXT_ANSWER_PROBLEM**&nbsp;— задача, в которой нужно ввести ответ в текстовом поле.
    * **PROBLEM_WITH_MATCH_SETS**&nbsp;— задача, в которой нужно сопоставить варианты по горизонтали с вариантами по вертикали.

3. Задачи с проверкой через GitLab и Jupyter:

    * **GITLAB_PROBLEM**&nbsp;— проверка решения выполняется через GitLab. На вкладке **Репозитории GitLab** в настройке **Поле ответа** можно выбрать формат ответа участника: персональный репозиторий или отправка через редактор кода или загрузку файла (проверка в CI). После создания репозиториев формат **Поле ответа** изменить нельзя.
    * **JUPYTER_PROBLEM**&nbsp;— участник решает задачу в среде JupyterLab; организатор настраивает JupyterHub и окружение, репозиторий и проверка связаны с GitLab по настройкам задачи. В одном соревновании все Jupyter-задачи должны использовать один и тот же инстанс GitLab.

{% note info %}

Типы **GITLAB_PROBLEM** и **JUPYTER_PROBLEM** доступны ограниченному числу администраторов. Краткие определения см. в [глоссарии Яндекс Контеста](https://admin.contest.yandex.ru/docs/ru/glossary.md); оставить заявку на использование можно через [службу поддержки](https://admin.contest.yandex.ru/docs/ru/troubleshooting.md).

{% endnote %}

#### Наборы с этой задачей

Это поле видно, только если задача добавлена в [набор задач](https://admin.contest.yandex.ru/docs/ru/problem-set/settings.md).

#### Использовать альтернативный рендерер для условий и правильных ответов

Эта настройка используется при использовании условий и комментариев к решению в формате TeX.
    
Если используется **Альтернативный рендерер**, доступен расширенный список инструкций языка KaTeX и после генерации создается файл HTML. Такие условия можно копировать и выделять.
    
Если не используется альтернативный рендерер, то при генерации конструкции TeX создается изображение, помещенное в файл HTML. Такое условие нельзя скопировать как текст. Список доступных конструкций языка TeX ограничен. Подробнее см. в [описании условий задач](https://admin.contest.yandex.ru/docs/ru/problem/statements.md).

Остальные настройки зависят от выбранного типа задачи.

## Настройки файлов {#file-settings}

{% note alert %}

Только для задач типа **PROBLEM_WITH_CHECKER** и **INTERACTIVE_PROBLEM**.

{% endnote %}

Установите настройки, влияющие на поведение программы пользователя и ее взаимодействие с тестами.

#### Название входного файла

Имя файла, который подается на вход программы. По умолчанию это `input.txt`.

#### Название выходного файла

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

#### Разрешить чтение из stdin

Разрешает программе пользователя читать данные из **stdin**. По умолчанию включено.

#### Разрешить запись в stdout

Разрешает программе пользователя писать данные в **stdout**. По умолчанию включено.

#### Разрешить создание файлов

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

#### Тип файлов теста

Ожидаемый тип файлов тестов, подаваемых на вход программе участника. Имеет два значения:
    
- **TEXT**&nbsp;— текстовые файлы. Выбрано по умолчанию.
- **BINARY**&nbsp;— бинарные файлы, например изображения или ZIP-архивы.

#### Ограничение размера исходного кода

Ограничение на размер программы пользователя. По умолчанию это 256 КБ. При превышении участник увидит ошибку <q>Превышено ограничение по размеру исходного кода</q>.

## Ограничения на запуск {#run-settings}

{% note alert %}

Только для задач типа **PROBLEM_WITH_CHECKER** и **INTERACTIVE_PROBLEM**.

{% endnote %}

Установите ограничения, которым должна удовлетворять программа участника. Ограничения действительны для одного запуска программы на одном из тестов.

{% note info %}

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

{% endnote %}

#### Ограничение по времени

Максимальное время выполнения проверки задачи. При превышении участник получается вердикт TL (_time limit exceeded_). По умолчанию это 1 с.

#### Ограничение по времени ожидания

Максимальное время ожидания вывода данных программой. При превышении участник получается вердикт IL (_idleness limit exceeded_). По умолчанию это 10 с.

#### Ограничение памяти

Максимум оперативной памяти, которую может использовать программа участника. При превышении участник получает вердикт ML (_memory limit exceeded_). По умолчанию это 64 МБ.

#### Ограничение на объем вывода

Максимум объема данных, выводимых программой участника. При превышении участник получает вердикт OL (_output limit exceeded_). По умолчанию это 64 МБ.

#### Добавить частные ограничения

Вы можете установить отдельные ограничения на запуск для конкретного компилятора:
    
1. Включите опцию **Добавить частные ограничения**.
2. Выберите компилятор из списка и нажмите **Добавить**.
3. Задайте ограничения. Набор идентичен ограничениям на запуск задачи.

## Ограничения на компиляцию {#compilation-settings}

{% note alert %}

Только для **PROBLEM_WITH_CHECKER** и **INTERACTIVE_PROBLEM**.

{% endnote %}

Установите ограничения, которым должна удовлетворять программа участника на этапе компиляции. Ограничения такие же, как и для [запуска задачи](#run-settings).

## Настройки чекера {#checker-settings}

<!-- source: ru/_includes/reusables/id-reusables/checker-about.md -->
Чекер&nbsp;— это программа, которая проверяет вывод кода участника и сообщает результат системе в виде кодов возврата. Чекер помогает автоматизировать проверку задач и избежать лишней работы при выставлении баллов.
<!-- endsource: ru/_includes/reusables/id-reusables/checker-about.md -->

Откройте задачу и в меню слева выберите **Настройки чекера**.

#### Тип чекера

При проверке могут использоваться следующие типы чекеров:
    
* **STANDARD_CHECKER**&nbsp;— стандартный чекер Контеста. Выбран по умолчанию.
* **EJUDGE_EXITCODE_CHECKER**&nbsp;— оперирует кодами возврата системы [Ejudge](https://ejudge.ru/wiki/index.php/Serve.cfg:problem:scoring_checker).
* **TESTLIB_EXITCODE_CHECKER**&nbsp;— оперирует кодами возврата библиотеки [testlib](https://github.com/MikeMirzayanov/testlib).
* **TESTLIB_CHECKER**&nbsp;— оперирует кодами возврата библиотеки [testlib для Pascal](https://olympiads.ru/school/system/testlib/testlib.shtml).

#### Другие настройки чекера

Вы также можете:
    
* выбрать ID чекера из стандартных программ (для **STANDARD_CHECKER**);
* настроить передачу баллов;
* добавить файлы чекера.
    
Подробнее о настройках см. раздел [Чекеры](https://admin.contest.yandex.ru/docs/ru/problem/checkers.md).

## Дополнительные файлы и обработки {#checker-settings_1}

#### Файлы для времени запуска

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

#### Файлы для компиляции

Выберите файлы, которые будут скопированы в корневую директорию во время компиляции программы участника.

#### Файлы для постпроцессора

Выберите файл с программой-постпроцессором. **Постпроцессор**&nbsp;— программа, которая выполняется после того, как все проверки задачи закончены. Постпроцессор получает на вход весь лог тестирования, а затем интерпретирует его в конечный вердикт или балл, который возвращается участнику.
    
Посмотреть примеры доступных постпроцессоров можно на [нашем Диске](https://yadi.sk/d/oJw8JNqc3ELf6e). Обратите внимание на файл `postprocessor.py`, который используется совместно со `scoring.json`. Это самое частое использование постпроцессоров, когда балл за решение задачи нужно поставить, исходя из решенных групп тестов.

Обратите внимание, что баллы за задачу с помощью постпроцессора будут выставляться только в соревнованиях с типом монитора **SCORING**. Подробнее см. [Мониторы](https://admin.contest.yandex.ru/docs/ru/contest/monitors-description.md).

<!-- source: ru/_includes/reusables/support-button.md -->
<a href="../../troubleshooting">
  <span class="button">Написать в службу поддержки</span>
</a>



<!-- endsource: ru/_includes/reusables/support-button.md -->
