ConcursC++17

abx

Un număr natural nn se numește putere dacă există două numere naturale aa, bb, a≥1a \geq 1, b≥2b \geq 2 astfel încât n=abn = a^b. De exemplu, numerele 3232, 169169, 11 sunt puteri (32=2532=2^5, 169=132169=13^2, 1=121=1^2), iar 7272, 20002000 și 3131 nu sunt puteri.
Se citesc numerele naturale NN, MM și un șir de NN numere naturale x1,x2,…,xNx_1, x_2, \dots, x_N din intervalul [1,M][1,M].

Cerință

Pentru fiecare din cele NN numere xix_i determinați câte un număr natural rir_i din intervalul [1,M][1,M], cu proprietatea că rir_i este o putere și pentru orice altă putere pp din intervalul [1,M][1,M] este îndeplinită condiția ∣xi–ri∣≤∣xi–p∣|x_i – r_i| \leq |x_i – p|, unde ∣x∣|x| reprezintă valoarea absolută a lui xx (modulul).
Dacă există două puteri egal depărtate de xix_i se va alege puterea cea mai mică. De exemplu pentru numărul 2626, dintre puterile 2525 și 2727 va fi ales numărul 2525.

Date de intrare

Fișierul de intrare abx.in conține pe prima linie două numere NN și MM, iar pe fiecare dintre următoarele NN linii se găsește câte un număr natural xix_i (1≤i≤N1 \leq i \leq N), cu semnificația de mai sus.
Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire abx.out va conține NN linii, pe fiecare linie ii (1≤i≤N1 \leq i \leq N) aflându-se numărul natural rir_i cu semnificația din enunț.

Restricții și precizări

  • 1≤N≤5 0001 \leq N \leq 5\ 000
  • 10≤M≤101810 \leq M \leq 10^{18}
  • Pentru teste valorând 40 de puncte, M≤5 000M \leq 5\ 000.
  • Pentru teste valorând 70 de puncte, M≤109M \leq 10^9.

Exemplu

abx.in

8 1000
345
99
999
500
123
124
99
256

abx.out

343
100
1000
512
121
125
100
256

Explicație

343=73343 = 7^3
100=102100 = 10^2
1 000=1031\ 000 = 10^3
512=29512 = 2^9
121=112121 = 11^2
125=53125 = 5^3
100=102100 = 10^2
256=28256 = 2^8

Sursă și autori

OJI 2019, clasele 9. Nistor Moț.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑