Receita Revolucionária
Solução escrita por Levi Oliveira
Conhecimentos necessários:
Seja $$P$$ quantidade de pães e $$O$$ a quantidade de ovos. Por dia, Murilo come exatamente $$2$$ pães e $$4$$ ovos.
Se ele só comesse pães, a quantidade de cafés da manhã que ele conseguiria fazer seria $$\left\lfloor \frac{P}{2} \right\rfloor$$.
Se ele só comesse ovos, a quantidade de cafés da manhã que ele conseguiria fazer seria $$\left\lfloor \frac{O}{4} \right\rfloor$$.
Como em um café da manhã completo ele precisa comer pães e ovos, a resposta será o mínimo entre $$\left\lfloor \frac{P}{2} \right\rfloor$$ e $$\left\lfloor \frac{O}{4}\right\rfloor$$. Para computar esse valor, podemos ou usar a função $$min(a, b)$$ da biblioteca <algorithm>, a qual compara dois valores e retorna o menor deles, ou guardar dois valores em variáveis auxiliares e imprimir o menor usando ifs.
Clique aqui para ver o código completo.
Elevador
Solução escrita por Levi Oliveira
Seja $$N$$ o número de elevadores e $$A_1, A_2, A_3, \dots, A_n$$ os andares pelos quais temos que passar. Inicialmente, note que demoramos 1 segundo para percorrer 1 andar, então caso percorramos $$k$$ andares, demoraremos $$k$$ segundos para realizar tal façanha.
Agora suponha que estamos no andar $$A_i$$ e que queremos ir pro andar $$A_{i+1}$$.
Se $$A_i < A_{i+1}$$, nós precisaremos subir andares. A quantidade de andares que subiremos será $$A_{i+1} – A_i$$, o que, como vimos, leva $$A_{i+1} – A_i$$, segundos.
Se $$A_i > A_{i+1}$$, nós precisaremos descer andares. A quantidade de andares que desceremos será $$A_i – A_{i+1}$$, o que, como vimos, leva $$A_i – A_{i+1}$$, segundos.
Note que nos dois casos, a quantidade de andares que nos deslocamos – e portanto a quantidade de tempo que levou – é o módulo de $$A_i – A_{i+1}$$, isso é, o valor positivo. Para computar esse valor, podemos usar a função $$abs(valor)$$ da biblioteca cmath do C++, que retorna o módulo de um valor dado.
Assim, guardamos uma variável resp que guarda o tempo necessário para nos locomovermos entre os andares, e para cada i entre $$0$$ e $$n-2$$ – vetor 0-indexado -, incrementamos em resp $$abs(A_i – A_{i+1})$$
Clique aqui para ver o código completo.
Encontro de Amigas
Solução escrita por Márcio Vitor
Conhecimentos necessários:
Subtarefa 2 – ($$A_1 = A_2$$):
Perceba que a resposta é no máximo 1 pois Ana permanecera apenas 1 dia no Brasil, então basta checar se esse dia esta dentro dos outros dois intervalos de tempo, se sim retorne 1, caso contrario retorne 0.
Para verificar se um tempo x esta dentro de um intervalo $$[L,R]$$ basta checar se $$x >= L$$ e $$x <= R$$.
Subtarefa 3 – (sem restrições adicionais):
Usando as ideias da subtarefa 2, vamos manter um contador $$cnt$$, e iremos iterar pelos possíveis dias $$D$$ de 1 a 31 e ver se ele esta dentro de todos os intervalos que as garotas estarão no Brasil, se sim adicionamos 1, ao final de tudo $$cnt$$ será a resposta.
