Incrementar hasta el máximo

Devuelve el número total de incrementos de una unidad necesarios para elevar cada elemento del arreglo al valor máximo del arreglo.

Ejemplos

Program.IncrementToTop(new[] { 3, 4, 5 }) ➞ 3
// 3 necesita dos incrementos y 4 necesita uno.

Program.IncrementToTop(new[] { 3, 3, 3 }) ➞ 0

Program.IncrementToTop(new[] { 3, 10, 3 }) ➞ 14

Notas

Como bonificación opcional, intenta resolverlo recorriendo el arreglo una sola vez.