Annettuna on n tikkua, joilla on pituudet a1,a2,…,an.
Sinun tulee tehdä tikkuihin täsmälleen k leikkausta siten, että
tikkujen määräksi tulee n+k.
Leikkausten jälkeen pisimmän ja lyhimmän tikun pituuden erotus halutaan
mahdollisimman pieneksi.
Tehtäväsi on laskea pienin mahdollinen erotus kaikille määrille
k=1,2,…,m.
Leikkausten on säilytettävä tikkujen pituudet positiivisina kokonaislukuina.
Voit olettaa, että tikkuihin on mahdollista tehdä m leikkausta.
Syöte
Ensimmäisellä rivillä on kaksi kokonaislukua n,m: tikkujen määrä ja
leikkausten enimmäismäärä.
Toisella rivillä on n kokonaislukua a1,a2,…,an: tikkujen
pituudet.
Tuloste
Tulosta yhdelle riville m lukua: mikä on pienin mahdollinen erotus pisimmän
ja lyhimmän tikun pituuden välillä, jos tehdään täsmälleen
k=1,2,…,m leikkausta.
Esimerkki
Syöte:
3 3
7 3 2
Tuloste:
2 1 2
Osatehtävä 1 (7 pistettä)
- 1≤n≤5
- 1≤m≤10
- 1≤ai≤10
Osatehtävä 2 (8 pistettä)
- 1≤n≤1000
- 1≤m≤2000
- 1≤ai≤3
Osatehtävä 3 (12 pistettä)
- 1≤n≤1000
- 1≤m≤2
- 1≤ai≤1000
Osatehtävä 4 (24 pistettä)
- 1≤n≤100
- 1≤m≤200
- 1≤ai≤200
Osatehtävä 5 (31 pistettä)
- 1≤n≤1000
- 1≤m≤2000
- 1≤ai≤109
Osatehtävä 6 (18 pistettä)
- 1≤n≤105
- 1≤m≤2⋅105
- 1≤ai≤109