K-çeşidləmə#2498

K-çeşidləmə

1 saniyə
128 meqabayt
Çox asan

Sıralama verilmiş ədədlər massivini (və ya digər obyektləri) artan və ya azalan qaydada düzülməkdir. Bu tapşırığın bir çox müxtəlif növləri və onların çoxu üçün olduqca səmərəli alqoritmlər mövcuddur. Bu alqoritmlər üçün mühüm parametr massiv elementlərini sıralamaq üçün tələb olunan dəyişmələrin (swap) sayıdır.

Bu məsələdə biz -sıralama adlanan bir variantı nəzərdən keçiririk. -sıralamada siz -dəyişmə (k-swap) edə bilərsiniz, bu da indeksi tam olaraq fərqlənən iki massiv elementinin qiymətlərini dəyişməyə imkan verir. Məsələn, [, , , , ] massivini k = 3 üçün nəzərdən keçirək. Bu massiv belə iki əməliyyatla artan qaydada sıralana bilər: birinci dəyişmədən sonra massiv [, , , , ] olur; ikinci dəyişmədən sonra isə [, , , , ] alınır.

Verilmiş a_1, a_2, \ldots, a_n tam ədədlər massivini nəzərə alaq. Tapşırığınız, bu massiv artmayan qaydada sıralanarkən ən az neçə -dəyişmənin tələb olunduğunu tapmaqdır.

Giriş

Birinci sətrdə bir ədəd (1 \leq n \leq 300) verilir.

İkinci sətrdə ədəd a_1, a_2, \ldots, a_n (1 \leq a_i \leq 10^9, 1 \leq i \leq n) verilir.

Üçüncü sətrdə bir ədəd (1 \leq k \leq n - 1) verilir.

Çıxış

Əgər massivi verilmiş əməliyyatla artmayan qaydada sıralamaq mümkündürsə, lazım olan minimal -dəyişmələrin sayını çıxışa verin. Əks halda, çıxışa verin.

Nümunələr

Nümunə 1

Loading
Loading