Kleine Bob speelt met zijn blokkendoos. Het stapelt de blokken één per één in torens van verschillende hoogte. “Kijk, ik heb een muur gebouwd”, zegt hij tegen zijn oudere zus Alice. “Nee, dan moeten alle torens even hoog zijn” antwoordt ze.
Bob wil zijn torens aanpassen zodat ze allen even hoog zijn door één per één een blok te verplaatsen. Maar omdat Bob vrij lui is wil hij dit in een minimaal aantal stappen uitvoeren. Wat is dit minimale aantal?
Schrijf een functie blokken(lijst)
die gegeven een lijst met het aantal blokken in elke toren dit minimale aantal bepaalt.
>>> blokken([5, 2, 4, 1, 7, 5])
5
Door 5 blokken te verplaatsen ontstaat immers de rechterfiguur.
Bron
Gebaseerd op probleem Box of Bricks, Universiteit van Valladolid (UVa).