Este manual é para as pessoas que julgam as submissões de um contest do MOJ pela interface web. Há dois papéis, e cada um vem do sufixo do seu login:
| Login termina em | Papel | O que ganha |
|---|---|---|
.judge |
Juiz | Vê e trabalha a fila de avaliação. |
.cjudge |
Juiz-chefe | Herda tudo do juiz e ainda ganha um painel de chefia. |
O juiz-chefe herda tudo o que o juiz faz. Ou seja,
leia a Parte 1 mesmo se você for .cjudge: ela vale para
você também. A Parte 2 acrescenta os poderes extras.
Tudo aqui só acontece quando a prova está em modo de
veredicto manual (a organização liga a opção
MANUAL_VERDICT). Nesse modo, as submissões param numa fila
esperando o olho de um juiz antes de o resultado chegar ao
competidor.
Sem essa opção ligada, a correção é automática: a máquina calcula o veredicto e entrega direto ao competidor. Nesse caso não há fila e não há nada para o juiz fazer. Se você abrir a aba de avaliação e ela estiver vazia ou ausente, provavelmente a prova não está em veredicto manual.
.judge (juiz)Como juiz, sua barra de navegação tem estas abas:
| Aba | Para quê |
|---|---|
| Contest | O enunciado da prova e os problemas. |
| Score | O placar. |
| Clarification | Perguntas e respostas (esclarecimentos). |
| ⚖️ Avaliar | A sua fila de avaliação. É aqui que você trabalha. |
| Todas as Submissões | O feed completo da prova, anônimo: você vê horário, problema, veredicto cru, código e log — mas não vê usuário nem time (nem a API revela; quem submeteu é irrelevante para avaliar). |
| Estatísticas | Números da prova. |
| Sair | Encerra a sessão. |
Uma diferença importante em relação a um competidor: você, juiz, também enxerga o texto cru do veredicto que a máquina calculou. O competidor não vê isso.
A fila fica na aba ⚖️ Avaliar (URL
/contest/judge/). No topo da página há quatro contadores
que resumem o estado geral:
| Contador | Significa |
|---|---|
| Não avaliadas | Submissões seguradas, ainda sem ninguém trabalhando nelas. |
| Sendo avaliadas | Alguém já pegou e está julgando agora. |
| Aguardando 2º voto | Já tem um voto, falta o segundo juiz concordar. |
| Em conflito | Os dois votos divergiram. Só o juiz-chefe resolve. |
Abaixo dos contadores vem a lista das submissões seguradas para revisão. Para cada uma, você vê:
Uma submissão só tem seu veredicto entregue ao competidor quando N juízes votam a mesma coisa — o N é decidido pelo admin do contest (Configurações → "Nº de juízes que validam", de 1 a 5; o padrão é 2). Quando os votos batem, o veredicto vai para o competidor (a entrega é feita por um único escritor, o daemon, para não haver bagunça). Com N=1, o seu voto sozinho decide.
Quando os dois votos divergem, a submissão vira um conflito e fica marcada para o juiz-chefe resolver. Um juiz comum não resolve conflito: sua parte termina no seu voto.
Muita prova roda um aquecimento antes da prova oficial — mesma sala, mesmas contas, mesmo endereço. A fila que aparece ali é fila de verdade: submissões chegam, você pega, vota, e a regra de N juízes concordando vale igual. Use-o para conferir o que dói descobrir depois: se as opções de veredicto são as que esta prova quer, se o log e o código abrem na sua máquina, e se você e o outro juiz leem a mesma submissão do mesmo jeito.
Não deixe a fila do aquecimento pela metade. A promoção para a prova oficial é recusada enquanto houver submissão sem veredicto liberado — o servidor confere, antes de deixar a organização trocar de rodada, se a rodada terminou, se há job em voo no juiz, se há item na correção manual sem veredicto, se há veredicto pendente no history e se o daemon está vivo. Fila de aquecimento abandonada segura literalmente o início da prova. Termine o que você pegou.
Quando a rodada é promovida, tudo do aquecimento é arquivado: fila, submissões, clarifications e placar. A prova oficial começa com o histórico vazio — nada do que você julgou ali conta, nem vaza, para a prova.
| Pode | Não pode |
|---|---|
| Ver a fila de avaliação e os contadores. | Resolver conflitos. |
| Pegar e reservar submissões (máx. 2 por submissão, 5 min). | Liberar um veredicto sem os dois votos. |
| Ver referência, log, código e votar. | Editar a lista de veredictos ou o auto-veredicto. |
| Pedir +5 min ou desistir. | Ver o painel de chefia. |
| Ver o texto cru do veredicto. | Acessar administração, jplag, times, usuários. |
.cjudge
(juiz-chefe)O juiz-chefe faz tudo o que o juiz faz: pega submissões, vota, participa da regra dos dois votos, tudo igual à Parte 1. Além disso, ganha um painel de chefia e alguns poderes extras.
Além das abas do juiz, o juiz-chefe vê:
| Aba | Para quê |
|---|---|
| 👑 Juiz-chefe | O painel de chefia (detalhado abaixo). |
| Todas as Submissões | A lista completa com usuário e time (o juiz comum a vê anônima), com o veredicto cru. |
O painel fica em /contest/chief/ e tem 4 abas:
Em qualquer página do contest, o juiz-chefe recebe um aviso vermelho piscando (com som) toda vez que surge um novo conflito. Clicar no aviso leva direto à aba ⚖️ Conflitos. Assim você percebe o conflito mesmo que esteja em outra tela.
O aquecimento é o único momento em que a mesa inteira roda com submissões de verdade e nada em jogo. É ali que você confere o que só você muda: quantos juízes um veredicto exige, quais veredictos a matriz de auto-veredicto libera sozinha, e se o alarme de conflito chega mesmo até você. Conflito que ninguém vê no aquecimento é conflito que ninguém verá na prova.
É também onde você vê a fila drenar — porque a promoção para a prova oficial é recusada enquanto houver item sem veredicto liberado, job em voo ou veredicto pendente. A aba 📊 Situação do painel é a tela que diz quando a mesa está limpa o bastante para a organização trocar de rodada.
⚠ Na promoção, os documentos perdem a marca de publicado. Os modelos e a capa sobrevivem (são configuração) e os PDFs gerados para o aquecimento vão para o arquivo da rodada — mas o que estava publicado deixa de estar. O info sheet, o caderno e a folha de time limits têm de ser publicados de novo para a prova oficial, ou os times abrem Arquivos & Recursos e não encontram nada.
O juiz-chefe não é administrador pleno. Ele não tem:
Os poderes dele se limitam a: julgamento, veredictos, notícias/respostas e estatística.
| Pode (além de tudo o que o juiz pode) | Não pode |
|---|---|
| Ver o painel 📊 Situação e o desempenho por juiz. | Ser admin pleno. |
| Decidir/Resolver liberando veredicto na hora (registrado). | Abrir a aba de Administração. |
| Resolver conflitos. | Usar jplag. |
| Editar a lista de veredictos (🏷️ Opções). | Mudar configurações do contest. |
| Editar o auto-veredicto (matriz problema x linguagem x veredicto). | Gerenciar times ou usuários. |
| Ver Todas as Submissões com usuário/time e veredicto cru. | |
| Responder clarifications (reservando antes; autor anônimo). | |
| Editar respostas e notícias. | |
| Receber o alerta piscante de conflito em qualquer página. |
MANUAL-CONTEST.md.MANUAL-STAFF.md.As telas deste manual, passo a passo e com imagens (PT/EN), estão em
/contest/ajuda/judge.html e
/contest/ajuda/cjudge.html — o botão 📖 Como
funciona este papel na sua tela abre direto.