Para resolver o problema, utilizaremos uma \textbf{fila de prioridade (min-heap)} que armazenará os instantes em que cada medicamento deve ser tomado novamente, juntamente com o nome do medicamento. Dessa forma, sempre poderemos determinar facilmente qual é o próximo medicamento a ser administrado.

Inicialmente, inserimos na fila todos os medicamentos com o tempo de sua \textit{primeira dose}. Em seguida, repetimos o seguinte processo até listar todas as doses necessárias:
\begin{enumerate}
    \item Remover da fila o medicamento com o menor tempo de administração (isto é, o que deve ser tomado mais cedo).
    \item Imprimir o nome do medicamento e o tempo.
    \item Calcular o próximo instante em que esse medicamento deverá ser tomado, somando o seu intervalo de tempo ao instante atual.
    \item Inserir novamente o medicamento na fila com o novo instante calculado.
\end{enumerate}

Esse método garante que os medicamentos sejam listados em ordem cronológica, respeitando os intervalos de cada um e evitando que qualquer dose seja esquecida.