{% extends "jury/base.html.twig" %} {% import "jury/jury_macros.twig" as macros %} {% block title %}Problem {{ problem.probid }} - {{ parent() }}{% endblock %} {% block extrahead %} {{ parent() }} {{ macros.table_extrahead() }} {{ macros.toggle_extrahead() }} {% endblock %} {% block content %}

Problem {{ problem.name }}

{% if showExternalId(problem) %} {% endif %} {% if problem.problemstatementType is not empty %} {% endif %} {% if problem.combinedRunCompare %} {% else %} {% endif %} {% if problem.specialCompareArgs is not empty %} {% endif %}
ID p{{ problem.probid }}
External ID {{ problem.externalid }}
Testcases {% if problem.testcases is empty %} no testcases {% else %} {{ problem.testcases.count }} {% endif %} details {%- if is_granted('ROLE_ADMIN') and not lockedProblem -%} / edit {% endif %}
Timelimit {{ problem.timelimit }} sec
Memory limit {% if problem.memlimit == null %} {{ defaultMemoryLimit }} kB (default) {% else %} {{ problem.memlimit }} kB {% endif %}
Output limit {% if problem.outputlimit == null %} {{ defaultOutputLimit }} kB (default) {% else %} {{ problem.outputlimit }} kB {% endif %}
Problem statement
Run script {% if problem.runExecutable is not empty %} {{ problem.runExecutable.execid }} {% else %} {{ defaultRunExecutable }} (default) {% endif %}
Compare script Run script combines run and compare script.
Compare script {% if problem.compareExecutable is not empty %} {{ problem.compareExecutable.execid }} {% else %} {{ defaultCompareExecutable }} (default) {% endif %}
Compare script arguments {{ problem.specialCompareArgs }}
{%- if is_granted('ROLE_ADMIN') -%} {%- if not lockedProblem -%} {{ button(path('jury_problem_edit', {'probId': problem.probid}), 'Edit', 'primary', 'edit') }} {{ button(path('jury_problem_delete', {'probId': problem.probid}), 'Delete', 'danger', 'trash-alt', true) }} {% endif %} {{ button(path('jury_problem_request_remaining', {'probId': problem.probid}), 'Judge remaining testcases', 'secondary', 'gavel') }} {% endif %} {{ button(path('jury_export_problem', {'problemId': problem.probid}), 'Export', 'secondary', 'download') }} {% include 'jury/partials/rejudge_form.html.twig' with {table: 'problem', id: problem.probid, buttonClass: 'btn-secondary'} %}

Contests

{% if problem.contestProblems is empty %}

No contests defined

{% else %}
{% for contestProblem in problem.contestProblems %} {% set link = path('jury_contest', {'contestId': contestProblem.cid}) %} {% if contestProblem.color is empty %} {% else %} {% endif %} {% endfor %}
CID Contest
shortname
Contest
name
Problem
shortname
Allow
submit
Allow
judge
Colour
c{{ contestProblem.cid }} {{ contestProblem.contest.shortname }} {{ contestProblem.contest.name }} {{ contestProblem.shortname }} {% include 'jury/partials/problem_toggle.html.twig' with {type: 'submit', enabled: contestProblem.allowSubmit} %} {% include 'jury/partials/problem_toggle.html.twig' with {type: 'judge', enabled: contestProblem.allowJudge} %}   {{ contestProblem | problemBadge }}
{% endif %}

Attachments

{{ form_start(problemAttachmentForm) }} {% if problem.attachments is empty %} {% else %} {% for attachment in problem.attachments %} {% endfor %} {% endif %} {% if is_granted('ROLE_ADMIN') and not lockedProblem %} {% endif %}
Name

No attachments

{{ attachment.name }} {% if is_granted('ROLE_ADMIN') and not lockedProblem %} {% endif %}
{{ form_errors(problemAttachmentForm.content) }} {{ form_widget(problemAttachmentForm.content) }} {{ form_widget(problemAttachmentForm.add) }}
{{ form_end(problemAttachmentForm) }}

Submissions

{%- include 'jury/partials/submission_list.html.twig' with {showTestcases: false} %}
{% endblock %} {% block extrafooter %} {{ macros.toggle_autosubmit_extrafooter() }} {% endblock %}