Gevraagd

Gegeven een lijst met een even aantal natuurlijke getallen, groepeer deze getallen dan als koppels (a1, b1), (a2, b2), ..., (an, bn) zodat de som van het kleinste element uit elk koppel maximaal is.

Schrijf een functie lijst_verdelen(getallen) die gegeven een lijst met (niet gesorteerde) getallen deze maximale som retourneert.

Bestudeer grondig onderstaande voorbeelden.

Voorbeeld 1

>>> lijst_verdelen([1, 4, 3, 2])
4

Er zijn verschillende mogelijkheden om deze lijst te verdelen:

Voorbeeld 2

>>> lijst_verdelen([6, 2, 6, 5, 1, 2])
9

Zoek zelf de beste verdeling van de lijst in koppels zodat de som van alle minima gelijk is aan 9.

Tip

Indien je de lijst eerst sorteert, wordt het werk een pak eenvoudiger…