Автор задачі: | De3b0o |
Підготовлено: | De3b0o |
Відредаговано: | Hasan Saleh (MathModel) |
Розв’язок
Спостереження:
Будь-яке число, кратне x^a, можна записати як y = k \cdot x^a, де k \ge 1 — ціле число.
Щоб максимізувати majesticness, потрібно знайти найбільше , для якого існує y = k \cdot x^a у відрізку [l,r].
При фіксованому найбільше можливе y \le r:
Алгоритм:
Перебрати степені : x^0, x^1, x^2, \dots поки x^a > r.
Для кожного p = x^a знайти найбільше кратне, не більше за :
Якщо y \ge l, оновити відповідь.
Складність: для кожного тесту виконується не більше ніж \log_x r ітерацій, отже загальна складність \mathcal{O}(t \cdot \log r).