Comentário por Anita Ramos
Divisão do Tesouro
Conhecimento prévio necessário:
Esse é um problema bem simples, que pode ser resolvido apenas com leitura, impressão e uma lógica. A lógica funcionará assim: contaremos o capitão como 2 outros marinheiros. Assim, dividiremos o total do tesouro $$A$$ por $$N+2$$ para descobrir quanto cada marinheiro ganhará e depois dobrar o valor para o capitão. Por exemplo, se pensarmos em $$A=10$$ e $$N=8$$, temos o seguinte:
- Cada marinheiro deve receber $$1$$
- O capitão deve receber $$2$$
Perceba que o capitão conta como dois outros marinheiros. Se dividirmos $$A$$ por $$8 + 2$$(capitão), teremos 1. Por fim, dobramos esse valor para o capitão, ficando com 1 para cada marinheiro e 2 para o capitão.
Na parte da programação então, depois de declarar as variáveis e ler toda a entrada, dividimos $$A$$ por $$N+2$$ e dobramos o valor (x2). Assim, o cálculo geral fica: $$2 \cdot (A/(N+2))$$
Complexidade: $$O(1)$$.
Segue o código comentado para melhor compreensão da solução:
https://gist.github.com/anitainfo/9d56373089f1e7fea1051bf5a4abe9a0
