Table of Contents
Concurso
Nome do arquivo: concurso.x, onde x deve ser c, cpp, java, js ou py
Fonte: OBI2024
Cláudia trabalha na OBI (Organização dos Bons Informáticos), que recentemente realizou um concurso para contratar novos funcionários. Agora, Cláudia tem a tarefa de determinar a nota de corte para o concurso.
Chamamos de nota de corte a nota mínima necessária para ser aprovado no concurso. Ou seja, se a nota de corte do concurso for C
, então todos os participantes com uma nota maior ou igual a C
serão aprovados no concurso e todos com nota menor que C
serão reprovados.
Seu chefe pediu para que Cláudia aprove no mínimo K
candidatos do concurso para a próxima fase, mas ela também não quer que a nota de corte seja muito baixa. Por isso, Cláudia decidiu que a nota de corte deverá ser a maior nota C
que faz com que no mínimo K
candidatos sejam aprovados.
Sua tarefa é: dados o número N
de candidatos, as notas A1, A2, …, An
dos candidatos e a quantidade mínima de aprovados K
, diga qual deve ser a maior nota de corte C
para que pelo menos K
candidatos sejam aprovados.
Entrada
A primeira linha da entrada contém dois inteiros, N
e K
, representando, respectivamente, o número de participantes e o número mínimo de candidatos que devem ser aprovados.
A segunda linha da entrada contém N
inteiros Ai
, representando as notas dos participantes.
Saída
Seu programa deve imprimir uma linha contendo um único inteiro C
, a nota de corte que deve ser escolhida por Cláudia.
Restrições
1 ≤ K ≤ N ≤ 500
1 ≤ Ai ≤ 100 para todo 1 ≤ i ≤ N
Informações sobre a pontuação
A tarefa vale 100 pontos. Estes pontos estão distribuídos em subtarefas, cada uma com suas restrições adicionais às definidas acima.
- Subtarefa 1 (0 pontos): Esta subtarefa é composta apenas pelos exemplos mostrados aabixo. Ela não vale pontos, serve apenas para que você verifique se o seu programa imprime o resultado correto para os exemplos.
- Subtarefa 2 (20 pontos):
K = 1
- Subtarefa 3 (20 pontos):
K = 3
- Subtarefa 4 (20 pontos):
Ai ≤ 2
- Subtarefa 5 (40 pontos): Sem restrições adicionais.
Seu programa pode resolver corretamente todas ou algumas das subtarefas acima (elas não precisam ser resolvidas em ordem). Sua pontuação final na tarefa é a soma dos pontos de todas as sutarefas resolvidas corretamente por qualquer uma das suas submissões.
Exemplos
Exemplo de entrada 1 | Exemplo de saída 1 |
---|---|
3 1 | 98 |
92 83 98 |
Explicação do exemplo 1: Neste caso temos 3 candidatos com notas 92, 83 e 98 e Cláudia deseja aprovar no mínimo 1 candidato. A maior nota de corte possível para que alguém seja aprovado é 98, a nota do melhor candidato.
Exemplo de entrada 2 | Exemplo de saída 2 |
---|---|
4 2 | 3 |
1 2 3 4 |
Explicação do exemplo 2: A maior nota de corte possível para que 2 candidatos sejam aprovados é 3. Neste caso, os candidatos com nota 3 e 4 serão aprovados.
Exemplo de entrada 3 | Exemplo de saída 3 |
---|---|
5 3 | 20 |
20 20 10 20 30 |
Explicação do exemplo 3: Para que pelo menos 3 candidatos sejam aprovados, a nota de corte deve ser no mínimo 20.
Exemplo de entrada 4 | Exemplo de saída 4 |
---|---|
10 5 | 1 |
1 2 2 1 2 2 1 1 1 1 |