
Problem description
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 | |
|
|