Se dă un șir v format din N elemente naturale nenule nu neapărat distincte. Asupra șirului putem aplica un singur tip de operație: interschimbarea a două elemente aflate pe poziții consecutive.
Cerința
Dându-se un număr natural K, se cere șirul minim lexicografic ce se poate obține prin aplicarea a cel mult K interschimbări de elemente de pe poziții consecutive.
Date de intrare
În fișierul lexicografic.in se află pe prima linie T, reprezentând numărul de teste. Urmează cele T teste, fiecare pe câte două linii. Pe prima linie din cadrul unui test se află două numere N și K separate prin spațiu. Pe linia a doua din cadrul unui test se află cele N elemente ale șirului v separate prin spații.
Date de ieșire
În fișierul lexicografic.out se vor afișa cele T linii, câte una corespunzătoare răspunsului pe fiecare test. Linia corespunzătoare unui test va conține cele N elemente separate prin spații ale șirului minim lexicografic ce s-a obținut din șirul inițial, după aplicarea a cel mult K interschimbări de elemente de pe poziții consecutive.
Restricții și precizări
1 ≤ N ≤ 250.000;T ≤ 2500;- într-un fișier de intrare suma totală a lungimilor șirurilor corespunzătoare celor
Tteste nu va depăși250.000; 1 ≤ K ≤ N*(N-1)/2;1 ≤ v[i] ≤ N, pentru1 ≤ i ≤ N;- Vă rugăm să acordați atenție tipului de date necesar pentru a citi valoarea lui
K; - Pentru acordarea punctajului pe un fișier de test este necesară rezolvarea corectă a tuturor celor
Tteste; - Pentru teste în valoare de
5puncte se garanteazăK = N * (N – 1) / 2; - Pentru alte teste în valoare de
7puncte se garanteazăK = 1; - Pentru alte teste în valoare de
23de puncte se garanteazăT ≤ 10,N ≤ 50; - Pentru alte teste în valoare de
4puncte se garanteazăT ≤ 10,N ≤ 100; - Pentru alte teste în valoare de
12puncte se garanteazăT ≤ 10,N ≤ 500; - Pentru alte teste în valoare de
24de puncte se garanteazăT ≤ 10,N ≤ 2000; - Un șir
a1,a2, …,aneste mai mic lexicografic decât un alt șirb1,b2, …,bndacă există un număr întregPmai mic sau egal cuNastfel încât:a1= b1,a2= b2, … ,aP-1= bP-1, iaraP< bP.
Exemplu:
lexicografic.in
3 5 2 4 2 3 1 1 4 3 2 1 3 4 6 4 5 3 5 3 4 6
lexicografic.out
2 3 4 1 1 1 2 3 4 3 3 5 4 5 6
Explicație
Pentru primul test: Șirul este format din N = 5 elemente, și anume v=(4,2,3,1,1). Putem efectua K=2 interschimbări. Interschimbând elementele v[1] și v[2] obținem șirul (2,4,3,1,1), apoi după interschimbarea elementelor v[3] și v[2] se obține șirul minim lexicografic (2,3,4,1,1).