{% if limitToTeams is not defined %} {% set limitToTeams = null %} {% set limitToTeamIds = null %} {% else %} {% set limitToTeamIds = [] %} {% for team in limitToTeams %} {% set limitToTeamIds = limitToTeamIds | merge([team.teamid]) %} {% endfor %} {% endif %} {% if showLegends is not defined %} {% set showLegends = false %} {% endif %} {% if static is not defined %} {% set static = false %} {% endif %} {% set showPoints = scoreboard.showPoints %} {% set usedCategories = scoreboard.usedCategories(limitToTeamIds) %} {% set hasDifferentCategoryColors = scoreboard.categoryColors(limitToTeamIds) %} {% set scores = scoreboard.scores | filter(score => limitToTeams is null or score.team.teamid in limitToTeamIds) %} {% set problems = scoreboard.problems %} {% set medalsEnabled = contest.medalsEnabled %} {% if maxWidth > 0 %} {% endif %} {# output table column groups (for the styles) #} {% if enable_ranking %} {% endif %} {% if showFlags %} {% else %} {% endif %} {% if showAffiliationLogos %} {% endif %} {% if enable_ranking %} {% endif %} {% if showTeamSubmissions or jury %} {% for problem in problems %} {% endfor %} {% endif %} {% set teamColspan = 2 %} {% if showAffiliationLogos %} {% set teamColspan = teamColspan + 1 %} {% endif %} {% if enable_ranking %} {% endif %} {% if enable_ranking %} {% endif %} {% if showTeamSubmissions or jury %} {% for problem in problems %} {% set link = null %} {% set target = '_self' %} {% if not static %} {% if jury %} {% set link = path('jury_problem', {'probId': problem.probid}) %} {% elseif problem.problem.problemstatementType is not empty %} {% if public %} {% set link = path('public_problem_statement', {probId: problem.probid}) %} {% set target = '_blank' %} {% else %} {% set link = path('team_problem_statement', {probId: problem.probid}) %} {% set target = '_blank' %} {% endif %} {% endif %} {% endif %} {% endfor %} {% endif %} {% set previousSortOrder = -1 %} {% set previousTeam = null %} {% set backgroundColors = {"#FFFFFF": 1} %} {% set medalCount = 0 %} {% for score in scores %} {% set classes = [] %} {% if score.team.category.sortorder != previousSortOrder %} {% if previousSortOrder != -1 %} {# Output summary of previous sort order #} {% include 'partials/scoreboard_summary.html.twig' with {sortOrder: previousSortOrder} %} {% endif %} {% set classes = classes | merge(['sortorderswitch']) %} {% set previousSortOrder = score.team.category.sortorder %} {% set previousTeam = null %} {% endif %} {# process medal color #} {% set medalColor = '' %} {% if showLegends %} {% set medalColor = score.team | medalType(contest, scoreboard) %} {% endif %} {# check whether this is us, otherwise use category colour #} {% if myTeamId is defined and myTeamId == score.team.teamid %} {% set classes = classes | merge(['scorethisisme']) %} {% set color = '#FFFF99' %} {% else %} {% set color = score.team.category.color %} {% endif %} {% if enable_ranking %} {% endif %} {% if showAffiliationLogos %} {% endif %} {% if color is null %} {% set color = "#FFFFFF" %} {% set colorClass = "_FFFFFF" %} {% else %} {% set colorClass = color | replace({"#": "_"}) %} {% set backgroundColors = backgroundColors | merge({(color): 1}) %} {% endif %} {% set totalTime = score.totalTime %} {% if scoreInSeconds %} {% set totalTime = totalTime | printTimeRelative %} {% endif %} {% if enable_ranking %} {% set totalPoints = score.numPoints %} {% if scoreboard.getRuntimeAsScoreTiebreaker() %} {% else %} {% endif %} {% endif %} {% if showTeamSubmissions or jury %} {% for problem in problems %} {# CSS class for correct/incorrect/neutral results #} {% set scoreCssClass = 'score_neutral' %} {% set matrixItem = scoreboard.matrix[score.team.teamid][problem.probid] %} {% if matrixItem.isCorrect %} {% set scoreCssClass = 'score_correct' %} {% if enable_ranking %} {% if not scoreboard.getRuntimeAsScoreTiebreaker() and scoreboard.solvedFirst(score.team, problem) %} {% set scoreCssClass = scoreCssClass ~ ' score_first' %} {% endif %} {% if scoreboard.getRuntimeAsScoreTiebreaker() and scoreboard.isFastestSubmission(score.team, problem) %} {% set scoreCssClass = scoreCssClass ~ ' score_first' %} {% endif %} {% endif %} {% elseif showPending and matrixItem.numSubmissionsPending > 0 %} {% set scoreCssClass = 'score_pending' %} {% elseif matrixItem.numSubmissions > 0 %} {% set scoreCssClass = 'score_incorrect' %} {% endif %} {% set numSubmissions = matrixItem.numSubmissions %} {% if showPending and matrixItem.numSubmissionsPending > 0 %} {% set numSubmissions = numSubmissions ~ ' + ' ~ matrixItem.numSubmissionsPending %} {% endif %} {# If correct, print time scored. The format will vary depending on the scoreboard resolution setting #} {% set time = '' %} {% if matrixItem.isCorrect %} {% set time = matrixItem.time %} {% if scoreboard.getRuntimeAsScoreTiebreaker() %} {% set time = "%0.3f s" | format(matrixItem.runtime / 1000.0) %} {% elseif scoreInSeconds %} {% set time = time | scoreTime | printTimeRelative %} {% if matrixItem.numSubmissions > 1 %} {% set time = time ~ ' + ' ~ (calculatePenaltyTime(true, matrixItem.numSubmissions) | printTimeRelative) %} {% endif %} {% else %} {% set time = time | scoreTime %} {% endif %} {% endif %} {% set link = null %} {% if jury %} {% set restrict = {problemId: problem.probid} %} {% set link = path('jury_team', {teamId: score.team.teamid, restrict: restrict}) %} {% endif %} {% endfor %} {% endif %} {% endfor %} {# Output summary of last sort order #} {% include 'partials/scoreboard_summary.html.twig' with {sortOrder: previousSortOrder} %}
rankteamscore {{ problem | problemBadge }} {% if showPoints %} [{% if problem.points == 1 %}1 point{% else %}{{ problem.points }} points{% endif %}] {% endif %}
{# Only print rank when score is different from the previous team #} {% if not displayRank %} ? {% elseif previousTeam is null or scoreboard.scores[previousTeam.teamid].rank != score.rank %} {{ score.rank }} {% else %} {% endif %} {% set previousTeam = score.team %} {% if showFlags %} {% if score.team.affiliation %} {% set link = null %} {% if jury %} {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} {% endif %} {{ score.team.affiliation.country|countryFlag }} {% endif %} {% endif %} {% if score.team.affiliation %} {% set link = null %} {% if jury %} {% set link = path('jury_team_affiliation', {'affilId': score.team.affiliation.affilid}) %} {% endif %} {% set affiliationId = score.team.affiliation.affilid %} {% if showExternalId(score.team.affiliation) %} {% set affiliationId = score.team.affiliation.externalid %} {% endif %} {% set affiliationImage = affiliationId | assetPath('affiliation') %} {% if affiliationImage %} {% else %} {{ affiliationId }} {% endif %} {% endif %} {% set link = null %} {% set extra = null %} {% if static %} {% set link = '#' %} {% set extra = 'data-bs-toggle="modal" data-bs-target="#team-modal-' ~ score.team.teamid ~ '"' %} {% else %} {% if jury %} {% set link = path('jury_team', {teamId: score.team.teamid}) %} {% elseif public %} {% set link = path('public_team', {teamId: score.team.teamid}) %} {% set extra = 'data-ajax-modal' %} {% else %} {% set link = path('team_team', {teamId: score.team.teamid}) %} {% set extra = 'data-ajax-modal' %} {% endif %} {% endif %} {% if usedCategories | length > 1 and scoreboard.bestInCategory(score.team, limitToTeamIds) %} {{ score.team.category.name }} {% endif %} {{ score.team.effectiveName }} {% if showAffiliations %} {% if score.team.affiliation %} {{ score.team.affiliation.name }} {% endif %} {% endif %} {{ totalPoints }}{{ "%0.3f s" | format(score.totalRuntime/1000.0) }}{{ totalTime }} {% if numSubmissions != '0' %}
{% if matrixItem.isCorrect %}{{ time }}{% else %} {% endif %} {% if numSubmissions is same as(1) %} 1 try {% else %} {{ numSubmissions }} tries {% endif %}
{% endif %}
{% if static %} {% for score in scores %} {% embed 'partials/modal.html.twig' with {'modalId': 'team-modal-' ~ score.team.teamid} %} {% block title %}{{ score.team.effectiveName }}{% endblock %} {% block content %} {% include 'partials/team.html.twig' with {size: 6, team: score.team} %} {% endblock %} {% endembed %} {% endfor %} {% endif %} {% if showLegends %}



{# only print legend when there's more than one category #} {% if limitToTeamIds is null and usedCategories | length > 1 and hasDifferentCategoryColors %} {% for category in scoreboard.categories | filter(category => usedCategories[category.categoryid] is defined) %} {% endfor %}
{% set link = null %} {% if jury %} {% set link = path('jury_team_categories') %} {% endif %} Categories
{% set link = null %} {% if jury %} {% set link = path('jury_team_category', {'categoryId': category.categoryid}) %} {% endif %} {{ category.name }}
{% endif %} {% if showTeamSubmissions or jury %} {% if scoreboard.getRuntimeAsScoreTiebreaker() %} {% set cellColors = {first: 'Solved, fastest', correct: 'Solved', incorrect: 'Tried, incorrect', pending: 'Tried, pending', neutral: 'Untried'} %} {% else %} {% set cellColors = {first: 'Solved first', correct: 'Solved', incorrect: 'Tried, incorrect', pending: 'Tried, pending', neutral: 'Untried'} %} {% endif %} {% for color, description in cellColors %} {% if color != 'pending' or showPending %} {% endif %} {% endfor %}
Cell colours
{{ description }}
{% endif %} {% if medalsEnabled %} {% for medalType in ['Gold', 'Silver', 'Bronze'] %} {% endfor %}
Medals {% if not scoreboard.freezeData.showFinal %}(tentative){% endif %}
{{ medalType }} Medal
{% endif %} {% endif %}