2020-01-21 06:35:58 +00:00
|
|
|
{% if submission.contest_or_none %}
|
|
|
|
{% set prefix_length = submission.contest_or_none.problem.output_prefix_override %}
|
|
|
|
{% else %}
|
|
|
|
{% set prefix_length = None %}
|
|
|
|
{% endif %}
|
|
|
|
{% set is_pretest = submission.is_pretested %}
|
|
|
|
|
|
|
|
{% if submission.status != 'IE' %}
|
|
|
|
{% if submission.status == 'QU' %}
|
|
|
|
<h4>{{ _('We are waiting for a suitable judge to process your submission...') }}</h4>
|
|
|
|
{% elif submission.status == 'P' %}
|
|
|
|
<h4>{{ _('Your submission is being processed...') }}</h4>
|
|
|
|
{% elif submission.status == 'CE' %}
|
|
|
|
<h3>{{ _('Compilation Error') }}</h3>
|
|
|
|
<pre>{{ submission.error|ansi2html }}</pre>
|
|
|
|
{% else %}
|
|
|
|
{% if submission.error %}
|
|
|
|
<h3>{{ _('Compilation Warnings') }}</h3>
|
|
|
|
<pre>{{ submission.error|ansi2html }}</pre>
|
|
|
|
<hr class="half-hr"><br>
|
|
|
|
{% endif %}
|
|
|
|
{% if is_pretest %}
|
|
|
|
<h3>{{ _('Pretest Execution Results') }}</h3>
|
|
|
|
{% else %}
|
|
|
|
<h3>{{ _('Execution Results') }}</h3>
|
|
|
|
{% endif %}
|
|
|
|
<br>
|
|
|
|
{% set test_case_id = counter() %}
|
|
|
|
{% for batch in batches %}
|
|
|
|
{% if batch.id %}
|
|
|
|
<b>{{ _('Batch ') }}#{{ test_case_id() }}</b>
|
|
|
|
({{ _('%(points)s/%(total)s points', points=batch.points|floatformat(0), total=batch.total|floatformat(0)) }})
|
|
|
|
<br>
|
|
|
|
<div class="batch-cases">
|
|
|
|
{% endif %}
|
|
|
|
<table>{% for case in batch.cases %}
|
|
|
|
<tr id="{{ case.id }}" class="case-row toggle closed">
|
|
|
|
<td>
|
2020-01-22 21:23:00 +00:00
|
|
|
{%- if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) -%}
|
2020-01-21 06:35:58 +00:00
|
|
|
<i class="fa fa-chevron-right fa-fw"></i>
|
|
|
|
{%- endif -%}
|
|
|
|
{%- if batch.id -%}
|
|
|
|
<b>{{ _('Case') }} #{{ loop.index }}:</b>
|
|
|
|
{%- elif is_pretest -%}
|
|
|
|
<b>{{ _('Pretest') }} #{{ test_case_id() }}:</b>
|
|
|
|
{%- else -%}
|
|
|
|
<b>{{ _('Test case') }} #{{ test_case_id() }}:</b>
|
|
|
|
{%- endif -%}
|
|
|
|
</td>
|
|
|
|
|
|
|
|
<td>
|
|
|
|
<span title="{{ case.long_status }}" class="case-{{ case.status }}">
|
|
|
|
{%- if case.status == 'SC' %}—{% else %}{{ case.status }}{% endif -%}
|
|
|
|
</span>
|
|
|
|
{%- if case.feedback %} ({{ case.feedback }}){% endif -%}
|
|
|
|
</td>
|
|
|
|
|
|
|
|
<td>
|
|
|
|
{%- if case.status != 'SC' -%}
|
|
|
|
{%- if case.status == 'TLE' -%}
|
|
|
|
[><span>{{ time_limit|floatformat(3) }}s,</span>
|
|
|
|
{%- else -%}
|
|
|
|
[<span title="{{ case.time }}s">{{ case.time|floatformat(3) }}s,</span>
|
|
|
|
{%- endif -%}
|
|
|
|
{%- endif -%}
|
|
|
|
</td>
|
|
|
|
|
|
|
|
<td>{% if case.status != 'SC' %}{{ case.memory|kbdetailformat }}]{% endif %}</td>
|
|
|
|
|
|
|
|
{% if not batch.id %}
|
|
|
|
<td>({{ case.points|floatformat(0) }}/{{ case.total|floatformat(0) }})</td>
|
|
|
|
{% endif %}
|
|
|
|
</tr>
|
|
|
|
|
2020-01-22 21:23:00 +00:00
|
|
|
{% if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) %}
|
2020-01-21 06:35:58 +00:00
|
|
|
<tr id="{{ case.id }}-output" style="display:none" class="case-feedback toggled">
|
|
|
|
<td colspan="5">
|
|
|
|
<div class="case-info">
|
2020-01-22 21:23:00 +00:00
|
|
|
{% set curr_data = cases_data[case.case] %}
|
2020-01-21 17:42:16 +00:00
|
|
|
<strong>{{ _('Input:') }}</strong>
|
|
|
|
<pre class="case-output">{{ curr_data['input']|linebreaksbr }}</pre>
|
|
|
|
<strong>{{ _('Your output:') }}</strong>
|
|
|
|
<pre class="case-output">{{ case.output|linebreaksbr }}</pre>
|
|
|
|
<strong>{{ _('Answer:') }}</strong>
|
|
|
|
<pre class="case-output">{{ curr_data['answer']|linebreaksbr }}</pre>
|
2020-01-21 06:35:58 +00:00
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
{% if case.extended_feedback %}
|
|
|
|
<td colspan="5" class="case-ext-feedback">
|
|
|
|
<div class="case-info">
|
|
|
|
<strong>{{ _('Judge feedback') }}</strong>
|
|
|
|
<pre class="case-output">{{ case.extended_feedback|linebreaksbr }}</pre>
|
|
|
|
</div>
|
|
|
|
</td>
|
|
|
|
{% endif %}
|
|
|
|
</tr>
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
</table>
|
|
|
|
|
|
|
|
{% if batch.id %}</div>{% endif %}
|
|
|
|
<br>
|
|
|
|
{% endfor %}
|
|
|
|
{% if submission.is_graded %}
|
|
|
|
<br>
|
|
|
|
{% if submission.result != "AB" %}
|
|
|
|
<b>{{ _('Resources:') }}</b>
|
|
|
|
{% if submission.result == "TLE" %}
|
|
|
|
<span>---,</span>
|
|
|
|
{% else %}
|
|
|
|
<span title="{{ submission.time }}s">{{ submission.time|floatformat(3) }}s,</span>
|
|
|
|
{% endif %}
|
|
|
|
{{ submission.memory|kbdetailformat }}
|
|
|
|
<br>
|
|
|
|
{% if is_pretest %}
|
|
|
|
<b>{{ _('Final pretest score:') }}</b>
|
|
|
|
{% else %}
|
|
|
|
<b>{{ _('Final score:') }}</b>
|
|
|
|
{% endif %}
|
|
|
|
{{ submission.case_points|floatformat(0) }}/{{ submission.case_total|floatformat(0) }}
|
|
|
|
{% if request.in_contest and submission.contest_or_none %}
|
|
|
|
{% with contest=submission.contest_or_none %}
|
|
|
|
({{ _('%(points)s/%(total)s points', points=contest.points|roundfloat(3),
|
|
|
|
total=contest.problem.points|floatformat(-1)) }})
|
|
|
|
{% endwith %}
|
|
|
|
{% else %}
|
|
|
|
({{ _('%(points)s/%(total)s points', points=submission.points|roundfloat(3),
|
|
|
|
total=submission.problem.points|floatformat(-1)) }})
|
|
|
|
{% endif %}
|
|
|
|
{% if is_pretest and submission.result == "AC" %}
|
|
|
|
<br>
|
|
|
|
<i>{{ _('Passing pretests does not guarantee a full score on system tests.') }}</i>
|
|
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
|
|
<b>{{ _('Submission aborted!') }}</b>
|
|
|
|
{% endif %}
|
|
|
|
<br>
|
|
|
|
{% endif %}
|
|
|
|
{% endif %}
|
|
|
|
{% else %}
|
|
|
|
{% include "submission/internal-error-message.html" %}
|
|
|
|
{% endif %}
|