¿Qué estrategia debo usar para resolver esta pregunta? – HackerEarth | Iniciar sesión (Equipo del proyecto | HackerEarth)

Bueno, la pregunta es realmente fácil cuando lo piensas.

Algoritmo

Ordene la secuencia y forme un equipo de estudiantes con (ni) estudiante.

Bueno, ¿preguntarás por qué?

Explicación

Dejame explicarte con un ejemplo.

Supongamos que hay 10 estudiantes con nivel de conocimiento
2 4 5 3 12 32 1 20 7 11

Después de ordenar la secuencia es

1 2 3 4 5 7 11 12 20 32

Haré un equipo de primer y décimo estudiante .
Puedo formar cualquier equipo, pero tengo que minimizar la diferencia entre el equipo de mayor conocimiento y el equipo de menor conocimiento.

Supongamos que elijo a cualquier otro alumno para formar un equipo con el décimo alumno, por ejemplo, segundo alumno con nivel de conocimiento 2 .. pero (2 + 32)> (1 + 32) que no parece bueno debido al hecho de que no hay otro no es mayor que 32 y tenemos que agregar un no tan pequeño como sea posible. Así que elijo 1 y 32 dándome 33.

El próximo equipo será 20,2. Ahora surge la pregunta de por qué no deberíamos elegir 12 u 11, lo que lo hace realmente cerca de 33 … Sí, por supuesto, tomará el conocimiento del equipo realmente cerca, pero eso no será lo mínimo. .
mínimo será un equipo elegido de los estudiantes restantes. Entonces no podemos elegir 11 o 12 con 20.
Del mismo modo, elegirá 3,12 y 4,11 y 5,7
el mínimo es 12 y el máximo es 33.

Entonces la diferencia es 21.

Espero que entiendas la lógica.