Problem description


Wybór zadań
(wybor-zadan)
Limit pamięci: 512 MB
Limit czasu: 1.00 s

Kenarf i Kenaj przygotowali N zadań na tegoroczne warsztaty przygotowujące do II etapu Bitockiej Olimpiady Informatycznej Juniorów. Każdemu z zadań przyporządkowali jako trudności liczby całkowite t1, …, tN. Jednakże, okazało się, że przygotowali o K za dużo zadań, zatem z niektórych z nich chcieliby zrezygnować. Chcieliby wybrać K zadań, których się pozbędą, w taki sposób, żeby różnica między najtrudniejszym, a najłatwiejszym zadaniem, które zostaną, była najmniejsza możliwa.

Obaj panowie są bardzo zarobieni przygotowywaniem paczek, dlatego poprosili Ciebie, żebyś pomógł im wybrać zadania.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby całkowite N oraz K oznaczające odpowiednio liczbę zadań oraz liczbę zadań, z których należy zrezygnować. W następnym wierszu następuje ciąg N liczb całkowitych t1, …, tN, gdzie ti oznacza trudność i-tego zadania.

Wyjście

W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę, oznaczającą najmniejszą możliwą różnicę między najtrudniejszym a najprostszym zadaniem, po zrezygnowaniu z pewnych K zadań.

Ograniczenia

1 ≤ N ≤ 1 000 000, 0 ≤ K < N, 1 ≤ ti ≤ 109.

Podzadania

Podzadanie Warunki Punkty
1 N ≤ 20. 22
2 N ≤ 2 000. 19
3 ti = 1 lub ti = 2 dla wszystkich i = 1, …, N. 24
4 Brak dodatkowych ograniczeń. 35

Przykład

Wejście Wyjście
7 1
3 7 1 3 8 2 10
7