Задача к ЕГЭ по информатике на тему «прочие прототипы» №1

По итогам проведения олимпиады по программированию каждый участник получил определённое количество баллов. По регламенту олимпиады победителя присуждают 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
Оцените статью
Я решу все!