Задание выполняется с использованием прилагаемых файлов
Компания по разработке игр открыла набор на работу в офис. На просторах сайта (сайт не уточняется) расположены резюме по поиску работы в сфере разработки игр. Среди них HR-менеджер Петров Влад обязан отобрать только высококвалифицированных и продуктивных программистов, которые смогут справиться со всеми задачами в их компании. При отборе Влад смотрит на КПД (сводка по образованию, опыту работы в данной сфере, качество портфолио). КПД должен составлять более 93 %. Известен КПД каждого соискателя.
По заданной информации о КПД соискателя и о количестве вакантных мест в компании определите максимальное количество потенциальных работников, КПД которых выше 93 %, а также максимальное КПД работника, найденного в таблице при условии, что найдено максимальное количество высококвалифицированных программистов.
В первой строке входного файла находятся два числа: S — количество вакантных мест (натуральное число, не превышающее 1000) и N — количество соискателей (натуральное число, не превышающее 10000). В следующих N строках находятся значения о КПД каждого соискателя (все числа натуральные, удовлетворяющие условию: ), каждое в отдельной строке
Запишите в ответе два числа: сначала максимальное количество потенциальных работников, КПД которых выше 93 %, а также максимальное КПД работника, найденного в таблице при условии, что найдено максимальное количество высококвалифицированных программистов. Пример входного файла:
5 10
30
97
45
65
89
94
93
95
70
78
При таких исходных данных можно заполнить только 3 вакантных места. Эти люди со следующим КПД: 97, 95, 94. А максимальное КПД соискателя равно 97%. Таким образом, ответ для вышеприведенного примера будет: 3 97.
Решение 1 ( Excel / LibreOffice):
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Перенесем числовые значения количества вакантных мест и количества соискателей, где они нам не помешают. Сортируем числа по возрастанию. Выделяем 500 элементов, начиная с первого, числовое значение которого больше 93. Мы получили, что количество вакантных мест больше, чем количество подходящих нам соискателей. Запишем полученное количество подходящих соискателей и элемент, имеющий максимальное числовое значение, в ответ.
Решение 2 (Python):
f = open(’26.txt’)
S, N = map(int, f.readline().split())
a = []
for i in range(N):
a.append(int(f.readline()))
a.sort(reverse=True)
ans = []
for i in range(S):
if a[i] > 93:
ans.append(a[i])
print(len(ans), a[0])