Задание №26: Обработка данных с помощью сортировки
Основные типы и прототипы задания №26:
Жадные алгоритмы упаковки файлов
Расписание мероприятий / конференц-залы
Парковка и пассажиры
Условие задания
(Е. Джобс) На стадионе есть система предварительных заявок на покупку билетов на футбольный матч. Каждая заявка содержит одно число – количество билетов, которые желает выкупить клиент. Утром перед матчем оператор распределяет заявки по следующему алгоритму:
1) все билеты в одной заявке должны быть в одном ряду;
2) в первую очередь подтверждаются заявки с наибольшим количеством забронированных мест;
3) места проверяются в порядке следования рядов, то есть оператор старается разместить все места из заявки в ряд с наименьшим номером, и при этом максимально близко к началу ряда.
Определите, сколько заявок подтвердит оператор и сколько свободных мест останется на стадионе после распределения всех заявок по описанному алгоритму.
Входные данные представлены в файле 26-124.txt следующим образом. Первая строка входного файла содержит три натуральных числа: количество рядов на стадионе K (1 ≤ K ≤ 1000), количество мест в одном ряду M (1 ≤ M ≤ 1000) и количество заявок N (1 ≤ K ≤ 20000). В каждой из N следующих строк записано одно натуральное число – количество билетов в заявке.
В ответе запишите два числа: сначала количество подтвержденных заявок, затем количество оставшихся свободных мест на стадионе.
Пример входного файла:
1) все билеты в одной заявке должны быть в одном ряду;
2) в первую очередь подтверждаются заявки с наибольшим количеством забронированных мест;
3) места проверяются в порядке следования рядов, то есть оператор старается разместить все места из заявки в ряд с наименьшим номером, и при этом максимально близко к началу ряда.
Определите, сколько заявок подтвердит оператор и сколько свободных мест останется на стадионе после распределения всех заявок по описанному алгоритму.
Входные данные представлены в файле 26-124.txt следующим образом. Первая строка входного файла содержит три натуральных числа: количество рядов на стадионе K (1 ≤ K ≤ 1000), количество мест в одном ряду M (1 ≤ M ≤ 1000) и количество заявок N (1 ≤ K ≤ 20000). В каждой из N следующих строк записано одно натуральное число – количество билетов в заявке.
В ответе запишите два числа: сначала количество подтвержденных заявок, затем количество оставшихся свободных мест на стадионе.
Пример входного файла:
3 20 7При таких исходных данных оператор удовлетворит 5 заявок – 15, 17, 13, 6 и 4 (всего 55 мест). На стадионе останется 5 свободных мест. Ответ: 5 5.
8
15
10
17
13
6
4
Ответ:
196 335