Maximize

Time limit: 1s Memory limit: 512MB Input: maximize.in Output: maximize.out

Cerință

Se dă un număr natural aa. Definim operația swapswap pe numărul aa ca fiind o interschimbare a două cifre adiacente. Formal, dacă aa are nn cifre si cifrele numărului aa sunt a1,a2,,ana_1, a_2, \dots, a_n, pentru un indice i(in1)i (i \leq n-1), definim operația ca fiind interschimbarea cifrei aia_i cu ai+1a_{i+1}. Determinați numărul maxim ce poate fi obținut după efectuarea a maxim k\textbf{maxim }k operații swapswap pe numărul aa.

Date de intrare

Pe prima linie a fișierului de intrare maximize.in se găsește numărul natural, aa.
Pe a doua linie a fișierului de intrare se găsește numărul kk.

Date de ieșire

Pe prima linie a fișierului de ieșire maximize.out se va găsi un singur număr, numărul maximizat aa dupa cele maxim kk operații swapswap.

Restricții și precizări

  • Fie nn numărul de cifre ale lui aa.
  • 1n1 0001 \leq n \leq 1 \ 000;
  • 1k1 000 0001 \leq k \leq 1 \ 000 \ 000;
  • Se pot efectua mai puțin de kk operații swapswap pe numărul aa, însă nu mai mult de kk.
# Punctaj Restricții
0 0 Exemplu.
1 40 1k1 0001 \leq k \leq 1 \ 000;
2 60 Fără restricții suplimentare.

Exemplu

maximize.in

30974
3

maximize.out

93704

Explicație

Dacă aplicăm operația swapswap, în ordine, pentru cifrele (a2,a3)(a_2,a_3), (a1,a2)(a_1,a_2) și (a2,a3)(a_2,a_3), se va obține numărul 9370493704, care este maximul ce se poate obține din trei operații swapswap.

Log in or sign up to be able to send submissions!