Článek ze série věnované úlohám matematické olympiády - kategorie P (programování) diskutuje různé možnosti řešení jedné praktické soutěžní úlohy. Úkolem je sestavit z posloupnosti různobarevných korálků co nejdelší náhrdelník, v němž jsou korálky uspořádány podle svého barevného odstínu. Každý korálek můžeme navléknout na šňůrku zleva nebo zprava, nebo ho také můžeme vynechat.
Algoritmus navazuje na velmi známou úlohu vybrat z dané posloupnosti čísel co nejdelší rostoucí podposloupnost, s níž se soutěžící seznámili ve školním kole. Kromě detailního rozboru úlohy najdeme v článku tři základní varianty řešení s různou časovou složitostí.
Dvě z těchto řešení jsou zapsána i ve formě ukázkového programu.