Тема 26. Обработка целочисленной информации с использованием сортировки

26.09 Прочие прототипы

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка целочисленной информации с использованием сортировки
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#54939

По итогам проведения олимпиады по программированию каждый участник получил определённое количество баллов. По регламенту олимпиады победителя присуждают K лучших участников, а призёра присуждают M лучших участников, следующих за ними. По заданной информации о результатах каждого из участников определите минимальный балл призёра и минимальный балл победителя данной олимпиады.

Входные и выходные данные.

В первой строке входного файла находятся три числа, записанные через пробел: N – общее количество результатов учащихся (натуральное число, не превышающее 10 000), K – количество победителей, M – количество призёров. В следующих N строках находятся значения каждого из результатов (все числа натуральные, не превышающие 10 000), каждое в отдельной строке. Запишите в ответе два числа: сначала минимальный балл призёра, а затем через пробел минимальный балл победителя данной олимпиады.

Пример входных данных:

6 2 3

7589

6344

8590

6231

3159

5462

При таких исходных данных ответ должен содержать 2 числа – 5462 и 7589. Пояснение: победители набрали 7589 и 8590 балла, призёры набрали 6344, 6231, 5462 баллов. Тогда минимальный балл призёра 5462, а минимальный балл победителя – 7589.

Вложения к задаче
Показать ответ и решение
file = open(’26.txt’)
n, k, m = [int(_) for _ in file.readline().split()]
arr = [int(_) for _ in file]
arr.sort(reverse=True)
min_win = 10 ** 6
min_prize = 10 ** 6
for i in range(len(arr)):
    if k != 0:
        k -= 1
        min_win = arr[i]
    elif m != 0:
        m -= 1
        min_prize = arr[i]
print(min_prize, min_win)

Ответ: 8904 9688

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!