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



# Задачи

Когда вы создаете соревнование, к нему прикрепляется пустой набор задач. Вы можете добавить задачи в созданный набор задач или выбрать другой.
Чтобы добавить задачи в прикрепленный набор задач:

1. На странице с настройками соревнования в меню слева выберите пункт **Задачи**.
2. Нажмите название набора. Откроется страница [настроек набора](https://admin.contest.yandex.ru/docs/ru/problem-set/settings.md).

Чтобы выбрать другой набор задач для соревнования:

1. На странице с настройками соревнования в меню слева выберите пункт **Задачи**.
2. Нажмите кнопку **Выбрать другой набор задач**.
3. Выберите набор из списка и нажмите **Добавить**.
4. Нажмите название набора. Откроется страница [настроек набора](https://admin.contest.yandex.ru/docs/ru/problem-set/settings.md).

## Условия {#statements}

На вкладке **Условия** вы можете посмотреть список и условия добавленных в набор задач. Чтобы перейти к настройкам задачи, нажмите ее название.

Чтобы посмотреть условия, нажмите значок ![](../_images/contest/00_preview_icon.png) напротив нужной задачи. Условия откроются в соседней вкладке.

## Тестирование {#testing}

На вкладке **Тестирование** вы можете посмотреть подробную информацию о добавленных задачах. Все данные доступны только для просмотра.

Чтобы перейти к настройкам задачи, нажмите ее название.

## Настройки задач {#individual}

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

Чтобы указать индивидуальные настройки:

1. Нажмите поле **Не выбрано**, выберите задачу из выпадающего списка и нажмите **Добавить**.

    Чтобы убрать индивидуальные настройки, справа от названия задачи нажмите ![](../_images/remove-icon.png).

2. Нажмите на строку с названием задачи и выберите категорию настроек:

    {% cut "Компиляторы" %}

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

    {% endcut %}

    {% cut "Тестирование и отчет для участников" %}

    Настройки тестирования:

    #|
    ||**Параметр**| **Описание**||
    ||**Использовать AC вместо OK**|При успешном прохождении тестов и чекера решению выставлять вердикт `AC` (принято на проверку) вместо `OK`.||
    ||**Прерывать тестирование при первой ошибке**|При первой ошибке на любом тесте прервать тестирование.||
    ||**Прерывать тестирование при первой ошибке внутри набора тестов**|При ошибке внутри одного набора тестов прервать тестирование этого набора и продолжить в следующем наборе тестов.||
    ||**При непройденных тестах из условия**|**Продолжать тестирование** или **Остановить тестирование** при неудачном прохождении одного или нескольких тестов из примеров (samples), заданных в настройках задачи.||
    |#

    Настройки отчетов:

    #|
    ||**Параметр**| **Описание**||
    ||**Упрощенный отчет по посылке**|Отображать таблицу с ранее отправленными решениями и результатами их проверки на странице задачи.||
    ||**Показывать результат посылки после окончания участия**|Показать участнику баллы и вердикты за посылку после завершения соревнования. Не влияет на отображение результатов в мониторе.||
    ||**Использованное программой время и память**|Для каких тестов будет показано расходование ресурсов при тестировании решения.||
    ||**Вердикт**|Отображать вердикта по отдельным тестам и целиком по задаче:

    - **На всех тестах**&nbsp;— для итогового вердикта будут учтены индивидуальные вердикты по всем тестам.
    - **Только на примерах**&nbsp;— будет выставлен вердикт AC, если все тесты из примеров прошли и есть тесты, которые не прошли и не были добавлены в примеры, или OK, если пройдены все тесты.

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

    {% endcut %}

    {% cut "Посылки" %}

    #|
    ||**Параметр**| **Описание**||
    ||**Максимальный размер посылки**|Максимальный размер файла или текста решения, который пользователь может отправить. При превышении пользователь получит предупреждение.||
    ||**Максимальное количество попыток**|Максимальное количество решений одной и той же задачи, которое участник может отправить на оценку. Не влияет на отправление посылки при [дорешивании](https://admin.contest.yandex.ru/docs/ru/guide/contest/common.md).||
    ||**Минимальное время между попытками, в секундах**|Минимальное время, которое должно пройти между отправками решений. При превышении пользователь получит предупреждение <q>Нельзя делать посылки так часто</q>.||
    ||**Исключить вердикты**|Исключает из числа использованных пользователем попыток решения с одним или несколькими выбранными вердиктами. Выбранные вердикты не расходуют число попыток.

    {% cut "Список вердиктов" %}

    - **OK**&nbsp;— верный ответ.
    - **WrongAnswer** (`WA`)&nbsp;— неправильный ответ.
    - **TimeLimitExceeded** (`TL`)&nbsp;— превышено [максимальное время выполнения проверки задачи](https://admin.contest.yandex.ru/docs/ru/guide/problem/runtime-limits.md).
    - **MemoryLimitExceeded** (`ML`)&nbsp;— превышено [ограничение на оперативную память](https://admin.contest.yandex.ru/docs/ru/guide/problem/runtime-limits.md).
    - **RuntimeError** (`RE`)&nbsp;— программа завершила работу с ненулевым кодом возврата.
    - **SecurityViolation** (`SE`)&nbsp;— программа пыталась выполнить недопустимый системный вызов.
    - **IdlenessLimitExceeded** (`IL`)&nbsp;— превышено [максимальное время ожидания](https://admin.contest.yandex.ru/docs/ru/guide/problem/runtime-limits.md).
    - **Crash**&nbsp;— запуск программы завершился ошибкой.
    - **PresentationError** (`PE`)&nbsp;— формат выходных данных не соответствует описанному в условиях задачи.
    - **OutputLimitExceeded** (`OL`)&nbsp;— превышен [максимальный максимальный объем вывода задачи](https://admin.contest.yandex.ru/docs/ru/guide/problem/runtime-limits.md).
    - **CompilationError** (`CE`)&nbsp;— компиляция программы завершилась с ошибкой.
    - **AcceptedForTesting** (`AC`)&nbsp;— решение принято на проверку.
    - **ManualInspection** (`MI`)&nbsp;— решение находится на ручной проверке.
    - **PrecompileCheckFailed** (`PCF`)&nbsp;— программа не прошла проверку на качество кода перед компиляцией
    - **Ignored** (`IG`)&nbsp;— решение проигнорировано.

    {% endcut %}

    ||
    ||**Посылки с идентичным кодом**|Позволить отправлять одно и то же решение несколько раз.||
    |#

    {% endcut %}

3. Измените выбранные настройки и нажмите **Сохранить**.


## Правила видимости задач {#visible-rules}

На вкладке **Правила видимости задач** вы можете задать правила, в каком порядке и при каких условиях будут показываться задачи.

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

В JSON-файле должен быть один объект `rules`&nbsp;— массив с правилами для каждой задачи. Поля задачи:

#|
|| **Название поля** | **Описание** ||
|| `problem`| **Обязательное поле.**

Короткое название задачи.||
|| `visibleSince`| Показать задачу через указанное количество миллисекунд с начала соревнования.||
|| `visibleDuring`| Скрывать задачу через указанное количество миллисекунд.||
|| `hideWhenSolved`|Скрывать, если задача решена:
* `value`&nbsp;— `true`, чтобы включить опцию;
* `scope`&nbsp;— тип скрытия:
   * `local`&nbsp;— когда задача решена текущим пользователем;
   * `global`&nbsp;— когда задача решена любым участником соревнования.||
|| `hideWhenAttempted`| Скрывать, если были попытки решить задачу (см. поле `hideWhenSolved`).||
|| `shouldBeSolved`|Задача показывается, когда другие задачи решены:
* `value`&nbsp;— список коротких названий задач;
* `quantifier`&nbsp;— способ применения правила:
   * `all`&nbsp;— при решении всех задач из списка;
   * `any`&nbsp;— при решении хотя бы одной задачи из списка.
* `scope`&nbsp;— тип скрытия:
   * `local`&nbsp;— когда задачи решены текущим пользователем;
   * `global`&nbsp;— когда задачи решены любым участником соревнования.||
|| `shouldNotBeSolved`| Задача показывается, когда другие задачи не решены (см. поле `shouldBeSolved`).||
|| `shouldBeAttempted`| Задача показывается, когда были попытки решить другие задачи (см. поле `shouldBeSolved`). ||
|| `shouldNotBeAttempted`| Задача показывается, когда не было попыток решить другие задачи (см. поле `shouldBeSolved`).||
|#


> **Пример**
>
>Эта конфигурация показывает задачу A с пятнадцати до тридцати минут после начала соревнования и скрывает ее после решения, а задачу B&nbsp;— после того, как хотя бы один участник соревнования решит задачу A.
>
> ```json
> {
>   "rules" : [
>     {
>       "problem" : "A",
>       "visibleSince" : 900000,
>       "visibleDuring" : 1800000,
>       "hideWhenSolved" : {
>         "scope" : "local",
>         "value" : true
>       }
>     },
>     {
>       "problem" : "B",
>       "shouldBeSolved" : {
>         "scope" : "global",
>         "value" : [ "A" ],
>         "quantifier" : "all"
>       }
>     }
>   ]
> }
> ```

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



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