Serve.cfg:problem:time limit

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/time_limit

Имя переменной: time_limit
Содержится в: problem
Используется: run
Тип содержимого: integer
Может отсутствовать: да
Наследуется: да
Значение по умолчанию: 0
Может повторяться: нет

Редактирование элемента: страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Abstract problems", поле "Processor time limit (sec)", либо страница "Editing contest", вкладка "Problems (serve.cfg)", блок "Concrete problems", поле "Processor time limit (sec)".

Описание. Данная конфигурационная переменная задаёт процессорное виртуальное время в секундах, отведённое на работу проверяемой программы с одним тестом. Если по истечении этого времени программа не завершила работу, она убивается, и для данного теста проверяемой программы диагностируется ошибка “Time-limit exceeded”. Виртуальное процессорное время — это время, в течении которого процессор выполнял (в режиме пользователя или в режиме ядра) данную задачу. Время, затраченное в ожидании событий ввода/вывода в данном параметре не учитывается. Значение 0 данной конфигурационной переменной означает, что время выполнения тестируемой программы не ограничивается.

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

Если данная конфигурационная переменная неабстрактной задачи не определена, её значение наследуется от абстрактной задачи, если абстрактная задача указана. Если и после этого значение переменной не определено, устанавливается значение по умолчанию 0 (отсутствие ограничений на максимальное время выполнения).

Пример.

time_limit = 5