Prova de Treino - Olimpíadas Nacionais de Informática 2024

Bem-vindo à Prova de Treino das Olimpíadas Nacionais de Informática 2024. Esta prova irá decorrer desde as 12:00 do dia 15 de Março até às 18:00 do dia 17 de Março. Durante esse tempo poderão tentar resolver 4 problemas (enumerados de A a D) e submetê-los na plataforma Mooshak, cujas credenciais devem ter recebido por e-mail (são as que foram dadas quando a vossa inscrição foi validada).

Cada problema vale 100 pontos, dos quais podem obter pontuações parciais por soluções que apenas resolvem parte do problema (ex: porque não só acertam em parte dos casos de teste ou porque só passam dentro dos limites de tempo em parte dos casos de teste).

A prova decorre num formato similar à final nacional, que será presencial (e no que é usado nas várias olimpíadas internacionais):

Esta prova de treino contém problemas do mesmo estilo da qualificação, mas sem qualquer ranking ou competição. Também o formato da prova de qualificação será ligeiramente diferente, como habitual (terão acesso a um documento como este explicando tudo o que é relevante).

Aqui estão mais algumas informações gerais:

Se tiverem perguntas por favor utilizem o sistema de perguntas do Mooshak. Não coloquem qualquer tipo de código ou qualquer sugestão de solução, a vossa pergunta será vista por todos os concorrentes. O mesmo se aplica ao Discord, não devem discutir nada sobre a prova até estar terminada (depois das 18:00 do dia 17).

Uso de Modelos de Linguagens

O uso de qualquer modelo de linguagens (como chatGPT ou qualquer ferramenta do género) é expressamente proibido, visto que não é permitido no resto das provas das ONI.

Partes de Problemas

Cada problema está dividido em várias partes. Cada parte está relacionada com a anterior, mas é um problema completamente diferente. Isto significa que na prática têm de resolver vários problemas relacionados num. Algumas coisas a saber sobre este assunto:

Grupos de testes

Ao lerem um enunciado devem reparar que os casos de teste estão dividos em grupos (ou subtarefas). Cada grupo tem uma pontuação associada e um conjunto de restrições que podem ser diferentes das restrições globais do problema, de forma a tornar o problema mais fácil. A vossa solução não tem de resolver corretamente todos os grupos para ter alguma pontuação, se resolver corretamente um dos grupos então terá a pontuação desse grupo. É recomendado que olhem para os diferentes grupos de testes, mesmo que não saibam resolver o problema todo podem conseguir resolver alguns dos grupos e assim obter mais pontos.

Informação técnica

Linguagens de programação

Linguagem Compilador Versão Comando de compilação Extensão
C gcc 8.5.0 gcc -Wall -lm .c
C++ gcc 8.5.0 g++ -Wall -std=gnu++14 .cpp
Java OpenJDK 1.8 javac .java
Pascal Free Pascal 3.0.4 fpc -v0w -oprog .pas
Python CPython 3.6.8 python3 prog.py .py

Limites de tempo e memória

Problema A Problema B Problema C Problema D
2 segundos 2 segundos 4 segundos 4 segundos

Prova de Treino das ONI'2024
(15/03 a 17/03 de 2024)