values и числа rounds и factor. Проведите rounds раундов; в каждом раунде найдите наименьшее число массива (если таких несколько — самое левое) и умножьте его на factor.
После всех раундов замените каждое число его остатком от деления на 10⁹ + 7 и верните получившийся массив.
Раундов может быть до 10⁹, так что прямое моделирование не успеет. Обратите внимание: остаток берётся только в самом конце, а пока идут раунды, сравниваются настоящие (огромные) значения.values=[3, 1, 4], rounds=4, factor=3 → [9, 9, 12]
[3, 1, 4] → [3, 3, 4] → [9, 3, 4] (из двух троек берём левую) → [9, 9, 4] → [9, 9, 12]. Все числа меньше 10⁹ + 7, остаток их не меняет.
values=[500000000, 7], rounds=3, factor=10 → [500000000, 7000]
7 → 70 → 700 → 7000: после трёх раундов массив [500000000, 7000], остаток ничего не меняет.
values=[1000000000, 1000000000], rounds=3, factor=2 → [999999979, 999999993]
Получится [4·10⁹, 2·10⁹]; по модулю 10⁹ + 7 это 999999979 и 999999993.
values) ≤ 10⁴values[i] ≤ 10⁹rounds ≤ 10⁹factor ≤ 10⁶values=[3, 1, 4], rounds=4, factor=3
[9, 9, 12]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 5 тестов на сервере, включая скрытые.