Considereu una civilització com la romana, tradicional i jerarquitzada. Hi ha dones nobles solteres (enumerades entre 1 i ) i homes nobles solters (enumerats entre 1 i ) en edat de casar-se. L’emperador ha calculat, per a cada parell , el benefici que suposaria per a Roma que la dona -èsima es casés amb l’home -èsim.
En aquest problema, l’ordre relatiu tant entre les dones com entre els homes no és arbitrari: la dona 1 té un estatus superior a la dona 2, la qual té un estatus superior a la dona 3, etc, i similarment entre els homes. La tradició impedeix formar dos matrimonis i tals que però , perquè a la dona , que és més important que la dona , li tocaria un marit de menys categoria (i a l’inrevés).
Donada , podeu fer els matrimonis que calgui per maximitzar el benefici per a Roma?
L’entrada consisteix en diversos casos, cadascun amb i , seguides de la matriu : files amb naturals cadascuna. Suposeu que i es troben entre 1 i 1000, i que tots els es troben entre 1 i .
Per a cada cas, escriviu el màxim benefici possible, seguit dels matrimonis formats: per a cada dona entre 1 i , escriviu el número del seu marit, o un zero si és millor deixar-la soltera. Amb els jocs de proves donats, la solució serà única. Escriviu una línia amb 10 guions al final de cada cas.
La solució esperada té cost en espai i en temps.
Input
2 2 23 42 30 37 3 3 90 10 20 40 30 70 10 80 10 4 5 1 3 7 8 9 1 3 1 7 8 1 3 1 1 7 2 1 1 1 1 3 4 3 2 10 2 2 4 3 2 8 6 5 7
Output
benefici: 60 1 2 ---------- benefici: 170 1 0 2 ---------- benefici: 21 3 4 5 0 ---------- benefici: 17 3 0 4 ----------