Проценты
Вы решили задачу. Теперь можно сравнить подходы.
Считаем всю сумму в целых копейках.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Общий множитель
Целочисленное деление отбрасывает дробную часть копейки после начисления процентов.
p = int(input())
x = int(input())
y = int(input())
total = (100 * x + y) * (100 + p) // 100
print(total // 100, total % 100)
Время: O(1). Память: O(1).
Другой способ: Отдельное начисление
Проценты считаются отдельно; исходная сумма уже целая, поэтому усечение даёт тот же результат.
p = int(input())
x = int(input())
y = int(input())
kopecks = 100 * x + y
interest = kopecks * p // 100
print(*divmod(kopecks + interest, 100))
Время: O(1). Память: O(1).
На что обратить внимание
- float может внести ошибку у границы копейки; все денежные действия здесь целочисленные.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.