Devi assegnare il valore più grande a quello più piccolo tra R e P e viceversa per P ed R o qualcosa di simile insomma... oppure devi associare più valori? Cioè... solo il + grande con il più piccolo, oppure saranno più valori?
Comunque... un conto e se hai un problema preciso... un altro è se non sai nemmeno da dove cominciare...?
ogni volta che un valore viene modificato o aggiunto tu lanci la tua funzione (generalizzata) che ricalcola il tutto...il ranking non sarà mai uguale...