Se consideră n mărgele numerotate de la 1 la n de culori și grad de strălucire diferite. Se generează toate posibilitățile de construire a unui colier de m mărgele distincte, astfel încât mărgelele aflate pe poziții învecinate să fie de culori diferite. Un colier este cu atât mai prețios (valoros) cu cât suma gradelor de strălucire a mărgelelor este mai mare.
Cerință
Să se determine cel mai prețios minim lexicografic colier format.
Date de intrare
Fișierul de intrare colier.in conține pe prima linie două numere naturale n și m, iar pe următoarele n linii descrierea mărgelelor. Linia i+1 conține descrierea mărgelei i sub forma: culoare grad_stralucire.
Date de ieșire
Fișierul de ieșire colier.out va conține pe prima linie, separate prin spațiu, cele m numere de ordine ale mărgelelor care formează colierul cel mai prețios.
Restricții și precizări
1 ≤ n ≤ 122 ≤ m < 10- gradul de strălucire al mărgelelor este cuprins în intervalul
[1..100] - culoarea mărgelelor este dată sub forma unui număr natural nenul
<20 - nu există mărgele identice
- colierul este circular – prima mărgea se învecinează cu ultima
Exemplu:
colier.in
7 4 1 2 3 2 2 1 2 3 1 3 2 2 3 1
colier.out
1 2 5 4
Explicație
Colierul format din mărgelele: 1,2,5,4 este colierul cel mai prețios minim lexicografic.
Gradul total de strălucire = 10.
Cu același grad maxim de strălucire sunt de exemplu și colierele: 1 4 5 2, 6 1 4 5.