Solução Informática Iniciante - Semana 49

Solução de Lawrence Melo

Sempre que possível, comemos todos os pães e formamos o máximo de pães com as cascas, e guardamos em uma variável auxiliar o número de cascas que não conseguimos usar para formar novos pães. Código para melhor entendimento:


#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, k;
while(cin >> n >> k)
{
int casca = 0;
int pao = 0;
while(n)
{
pao += n; // como os pães disponíveis
casca += n; // tiro as cascas dos pães disponíveis
n = casca/k; // formo novos pães com as cascas
casca %= k; // guardo as cascas que sobraram
}
cout << pao << "\n";
}
}

view raw

noics49pj.cpp

hosted with ❤ by GitHub

Complexidade: \mathcal{O}(\log_{k}(n)) para cada caso teste.