Задание №26: Обработка данных с помощью сортировки
Основные типы и прототипы задания №26:
Жадные алгоритмы упаковки файлов
Расписание мероприятий / конференц-залы
Парковка и пассажиры
Условие задания
(Е. Джобс) Системный администратор раз в неделю создаёт архив пользовательских файлов. Причем файлы размером больше 500 МБ записывает на диск D, а меньшего размера на диск E. Известно, какой объём занимает файл каждого пользователя. Системный администратор старается сохранить как можно больше файлов. Необходимо найти, сколько файлов на каждом диске может сохранить системный администратор и максимальный размер сохраненного при данных условиях файла для каждого диска.
Входные данные. Первая строка входного файла 26-j10.txt содержит три числа: D – размер свободного места на диске D (натуральное число, не превышающее 100 000), E – размер свободного места на диске E (натуральное число, не превышающее 10 000) и N – общее количество файлов для сохранения (натуральное число, не превышающее 10000). В следующих N строках находятся значения объёмов файлов в МБ каждого пользователя (все числа натуральные, не превышающие 5000), каждое в отдельной строке.
Запишите в ответе два числа: сначала число сохраненных файлов на обоих дисках, затем суммарный размер самых больших по размеру файлов.
Пример входного файла:
Входные данные. Первая строка входного файла 26-j10.txt содержит три числа: D – размер свободного места на диске D (натуральное число, не превышающее 100 000), E – размер свободного места на диске E (натуральное число, не превышающее 10 000) и N – общее количество файлов для сохранения (натуральное число, не превышающее 10000). В следующих N строках находятся значения объёмов файлов в МБ каждого пользователя (все числа натуральные, не превышающие 5000), каждое в отдельной строке.
Запишите в ответе два числа: сначала число сохраненных файлов на обоих дисках, затем суммарный размер самых больших по размеру файлов.
Пример входного файла:
3000 1000 6При таких исходных данных можно сохранить четыре файла – 350 и 400 (300 и 400) на диске E, 1000 и 2000 на диске D. Поэтому ответ должен содержать два числа – 4 и 2400.
300
350
400
1000
1500
2000
Ответ:
13 1381