Suponha que tenhamos um conjunto de N codificadores.
Cada Codificador tem a classificação e o número de medalhas de ouro E i , que haviam ganho até agora.
Uma empresa de software deseja contratar exatamente três codificadores para desenvolver um aplicativo.
Para a contratação de três codificadores, eles desenvolveram a seguinte estratégia:
- Eles primeiro organizam os codificadores em ordem crescente de classificação e ordem decrescente de medalhas de ouro.
- Nessa lista organizada, eles selecionam os três dos codificadores do meio. Por exemplo, se a lista organizada for eles selecionam ( a 2 , a 3 , a 1 ) codificadores.
Agora temos que ajudar a empresa escrevendo um programa para esta tarefa.
Entrada:
A primeira linha contém , ou seja, o número de codificadores.
Em seguida, a segunda linha contém as classificações do i th codificador.
A terceira linha contém o número de medalhas ensacados pelo th codificador.
Resultado:
Exiba apenas uma linha que contenha a soma das medalhas de ouro conquistadas pelos três codificadores que a empresa selecionará.
Respostas:
Esse é um problema de selecionar o menor elemento da lista resolvida por uma classe de algoritmos denominada Algoritmos de Seleção . Existem algoritmos de seleção de tempo linear determinístico para que seu problema possa ser resolvido em tempo linear, selecionando os menores elementos n / 2 , n / 2 - 1 , n / 2 + 1 º da lista original não classificada.k n / 2 , n / 2 - 1 , n / 2 + 1
fonte