CSES - Koodarit
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Yrityksessä on n koodaria, joista jokaisella on tietty taitotaso. Koodareista halutaan muodostaa k paria niin, että taitotasot ovat lähellä toisiaan.

Kun parissa olevien koodarien taitotasot ovat a ja b, tästä tulee sakkoa |a-b|. Ratkaisun kokonaissakko on kaikkien parien sakkojen summa.

Tehtäväsi on selvittää, mikä on pienin mahdollinen ratkaisun kokonaissakko.

Syöte

Syötteen ensimmäisellä rivillä on kokonaisluvut n ja k: koodarien määrä ja parien määrä. Kaikissa testeissä pätee 1 \leq k \leq n/2.

Seuraavalla rivillä on n kokonaislukua x_1,x_2,\dots,x_n: jokaisen koodarin taitotaso.

Tuloste

Tulosta yksi kokonaisluku: pienin mahdollinen kokonaissakko.

Esimerkki

Syöte:

8 3
3 1 2 7 9 3 4 7

Tuloste:

1

Selitys: Voidaan valita parit (1,2), (3,3) ja (7,7).

Osatehtävä 1 (34 pistettä)

  • 2 \le n \le 2000
  • 1 \le x_i \le 10^{9}

Osatehtävä 2 (21 pistettä)

  • 2 \le n \le 2 \cdot 10^{5}
  • 1 \le x_i \le 1000

Osatehtävä 3 (45 pistettä)

  • 2 \le n \le 2 \cdot 10^{5}
  • 1 \le x_i \le 10^{9}