OBI 2026 – Fase 1 Nível Mirim Turno B

Aula de Matemática

Solução escrita por Márcio Vitor

Conhecimentos necessários:

Dados inteiros $$A,B$$ o problema pede o máximo entre $$A + B$$ e $$A – B$$, podemos fazer isso lendo os dois inteiros e usando a função $$max$$ da biblioteca padrão (Note que também é possível usar um $$if$$ para verificar qual o maior entre os dois).

Clique aqui para ver o código completo.

Dedos

Solução escrita por Julia Tiosso

Conhecimentos necessários:

Seja $$N$$ o número indicado por Rafaela. Então, $$N = (16*D_1)+(8*D_2)+(4*D_3)+(2*D_4)+(1*D_5)$$. Assim, basta ler os valores de cada um dos dedos e imprimir o resultado $$N$$.

Em outras palavras, o enunciado dá a representação binária de um número $$(D_1D_2D_3D_4D_5)_2$$ e pede sua conversão para a base decimal.

Clique aqui para ver o código completo.

Dança de Quadrilha

Solução escrita por Otávio Pinheiro

Conhecimentos necessários:

Perceba que a direção do movimento de Elena alterna após cada anúncio do marcador. Ou seja, o primeiro movimento é marcado no sentido horário, o segundo no anti-horário, e assim sucessivamente.

Como Elena percorre 1 metro por segundo, a distância percorrida em cada movimento é exatamente igual ao intervalo de tempo correspondente. Dessa forma, podemos representar os movimentos no sentido horário como valores positivos e os movimentos no sentido anti-horário como valores negativos.

S=t1t2+t3t4+...S = t_1 – t_2 + t_3 – t_4 + …

O problema também pede para imprimir a resposta final como módulo, então devemos retornar |S||S|.

O código para implementar isso consta manter um inteiro S e iterar de 0 à N, sendo que se o iterador estiver em uma posição par iremos incrementar tit_i em S e, caso contrário, estiver numa posição ímpar, vamos decrementar tit_i em S.

Finalmente retornamos |S||S| usando a função absabs. Como percorremos o vetor apenas uma vez, a complexidade de tempo da solução é O(N)O(N)

Clique aqui para ver o código completo