{% extends "contest.html" %} {% set page = "overview" %} {% block core %}

{% trans %}General information{% endtrans %}

{% if phase == -1 %} {% trans %}The contest hasn't started yet.{% endtrans %}

{% trans start_time=(contest.start + participation.delay_time)|format_datetime_smart, stop_time=(contest.stop + participation.delay_time + participation.extra_time)|format_datetime_smart %} The contest will start at {{ start_time }} and will end at {{ stop_time }}. {% endtrans %} {% elif phase == 0 %} {% trans %}The contest is currently running.{% endtrans %}

{% trans start_time=(contest.start + participation.delay_time)|format_datetime_smart, stop_time=(contest.stop + participation.delay_time + participation.extra_time)|format_datetime_smart %} The contest started at {{ start_time }} and will end at {{ stop_time }}. {% endtrans %} {% elif phase >= +1 %} {% trans %}The contest has already ended.{% endtrans %}

{% trans start_time=(contest.start + participation.delay_time)|format_datetime_smart, stop_time=(contest.stop + participation.delay_time + participation.extra_time)|format_datetime_smart %} The contest started at {{ start_time }} and ended at {{ stop_time }}. {% endtrans %} {% endif %}

{% if contest.analysis_enabled %}

{% if phase == +1 %} {% trans %}The analysis mode hasn't started yet.{% endtrans %}

{% trans start_time=contest.analysis_start|format_datetime_smart, stop_time=contest.analysis_stop|format_datetime_smart %} The analysis mode will start at {{ start_time }} and will end at {{ stop_time }}. {% endtrans %} {% elif phase == +2 %} {% trans %}The analysis mode is currently running.{% endtrans %}

{% trans start_time=contest.analysis_start|format_datetime_smart, stop_time=contest.analysis_stop|format_datetime_smart %} The analysis mode started at {{ start_time }} and will end at {{ stop_time }}. {% endtrans %} {% elif phase == +3 %} {% trans %}The analysis mode has already ended.{% endtrans %}

{% trans start_time=contest.analysis_start|format_datetime_smart, stop_time=contest.analysis_stop|format_datetime_smart %} The analysis mode started at {{ start_time }} and ended at {{ stop_time }}. {% endtrans %} {% endif %}

{% endif %} {% if tokens_contest != TOKEN_MODE_DISABLED and tokens_tasks != TOKEN_MODE_DISABLED %} {% if tokens_contest == TOKEN_MODE_INFINITE and tokens_tasks == TOKEN_MODE_INFINITE %}

{% trans %}You have an infinite number of tokens.{% endtrans %}

{% trans %}You can see the detailed result of a submission by using a token on it.{% endtrans %} {% trans %}Your score for each task will be the maximum among the tokened submissions and the last one.{% endtrans %}

{% elif tokens_contest == TOKEN_MODE_INFINITE %}

{% trans %}You have a distinct set of tokens for each task.{% endtrans %} {% trans type_pl=_("tokens") %}You can find the rules for the {{ type_pl }} on each task's description page.{% endtrans %}

{% trans %}You can see the detailed result of a submission by using a token on it.{% endtrans %} {% trans %}Your score for each task will be the maximum among the tokened submissions and the last one.{% endtrans %}

{% elif tokens_tasks == TOKEN_MODE_INFINITE %}

{% trans %}You have a set of tokens shared among all tasks.{% endtrans %} {{ contest|extract_token_params|format_token_rules }}

{% trans %}You can see the detailed result of a submission by using a token on it.{% endtrans %} {% trans %}Your score for each task will be the maximum among the tokened submissions and the last one.{% endtrans %}

{% else %}

{% trans %}You have two types of tokens: a set of contest-tokens shared among all tasks and a distinct set of task-tokens for each task.{% endtrans %} {{ contest|extract_token_params|format_token_rules(t_type="contest") }} {% trans type_pl=_("task-tokens") %}You can find the rules for the {{ type_pl }} on each task's description page.{% endtrans %}

{% trans %}You can see the detailed result of a submission by using two tokens on it, one of each type.{% endtrans %} {% trans %}Your score for each task will be the maximum among the tokened submissions and the last one.{% endtrans %}

{% endif %} {% endif %} {% if contest.max_submission_number is not none %}

{% trans submissions=contest.max_submission_number %}You can submit at most {{ submissions }} solutions during this contest.{% endtrans %}

{% endif %} {% if contest.max_user_test_number is not none %}

{% trans user_tests=contest.max_user_test_number %}You can submit at most {{ user_tests }} user tests during this contest.{% endtrans %}

{% endif %}
{% if contest.per_user_time is not none %}

{# TODO would be very nice to write something like "just for 3 consecutive hours"... #} {% trans per_user_time=contest.per_user_time|format_timedelta %}Every user is allowed to compete (i.e. submit solutions) for a uninterrupted time frame of {{ per_user_time }}.{% endtrans %}

{% if actual_phase == -2 %} {% trans %}As soon as the contest starts you can choose to start your time frame.{% endtrans %} {% trans %}Once you start, you can submit solutions until the end of the time frame or until the end of the contest, whatever comes first.{% endtrans %} {% elif actual_phase == -1 %} {% trans %}By clicking on the button below you can start your time frame.{% endtrans %} {% trans %}Once you start, you can submit solutions until the end of the time frame or until the end of the contest, whatever comes first.{% endtrans %} {% elif actual_phase == 0 %} {% trans start_time=participation.starting_time|format_datetime_smart %}You started your time frame at {{ start_time }}.{% endtrans %} {% trans %}You can submit solutions until the end of the time frame or until the end of the contest, whatever comes first.{% endtrans %} {% elif actual_phase == +1 %} {% trans start_time=participation.starting_time|format_datetime_smart %}You started your time frame at {{ start_time }} and you already finished it.{% endtrans %} {% trans %}There's nothing you can do now.{% endtrans %} {% elif actual_phase == +2 %} {% if participation.starting_time is none %} {% trans %}You never started your time frame. Now it's too late.{% endtrans %} {% else %} {% trans start_time=participation.starting_time|format_datetime_smart %}You started your time frame at {{ start_time }} and you already finished it.{% endtrans %} {% endif %} {% trans %}There's nothing you can do now.{% endtrans %} {% endif %}

{% if actual_phase == -1 %}
{{ xsrf_form_html|safe }}
{% endif %}
{% endif %}
{% if actual_phase == 0 or actual_phase == 3%}

{% trans %}Task overview{% endtrans %}

{% if tokens_contest != TOKEN_MODE_DISABLED and tokens_tasks != TOKEN_MODE_DISABLED %} {% endif %} {% set extensions = "[%s]"|format(contest.languages|map("to_language")|map(attribute="source_extension")|unique|join("|")) %} {% for t_iter in contest.tasks %} {% if tokens_contest != TOKEN_MODE_DISABLED and tokens_tasks != TOKEN_MODE_DISABLED %} {% endif %} {% endfor %}
{% trans %}Task{% endtrans %} {% trans %}Name{% endtrans %} {% trans %}Time limit{% endtrans %} {% trans %}Memory limit{% endtrans %} {% trans %}Type{% endtrans %} {% trans %}Files{% endtrans %}{% trans %}Tokens{% endtrans %}
{{ t_iter.name }} {{ t_iter.title }} {% if t_iter.active_dataset.time_limit is not none %} {{ t_iter.active_dataset.time_limit|format_duration(length="long") }} {% else %} {% trans %}N/A{% endtrans %} {% endif %} {% if t_iter.active_dataset.memory_limit is not none %} {{ (t_iter.active_dataset.memory_limit * 1024 * 1024)|format_size }} {% else %} {% trans %}N/A{% endtrans %} {% endif %} {{ get_task_type(dataset=t_iter.active_dataset).name }} {{ t_iter.submission_format|map("replace", ".%l", extensions)|join(" ") }} {% if t_iter.token_mode == TOKEN_MODE_FINITE or t_iter.token_mode == TOKEN_MODE_INFINITE %} {% trans %}Yes{% endtrans %} {% else %} {% trans %}No{% endtrans %} {% endif %}
{% endif %}
{% endblock core %}