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

26.03 Перевоз грузов

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

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

Задача 1#57348

Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 160 до 195 кг включительно грузят в первую очередь, выбирая грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.
Входные данные представлены в файле 26_9.txt следующим образом. В первой строке входного файла записаны два целых числа: N – общее количество грузов и M – грузоподъёмность грузовика в кг. Каждая из следующих N строк содержит одно целое число – массу груза в кг. В ответе запишите два целых числа без пробела: сначала максимально возможное количество грузов, затем разницу между их общей массой и грузоподъемностью грузовика.
Пример организации исходных данных во входном файле:
6 900
80
170
215
160
180
300
В данном случае сначала нужно взять груз массой 160, 170 и 180 кг. Остается 390 кг. После этого можно вывезти ещё максимум 2 груза. Это можно сделать двумя способами: 80 + 300, 80+215. Выбираем способ, при котором вывозится груз наибольшей возможной массы. Такой способ один: 80 +300. Всего получается 5 грузов общей массой 890 кг, тогда разница составляет 900-890 = 10 кг.Ответ: 5 10.

Вложения к задаче
Показать ответ и решение

Грузоподъемность грузовика — 13300 кг.

Отсортируем данные по возрастанию. Сначала нужно взять грузы массой от 160 до 195 кг. Таких грузов 29 (диапазон А139:А167) общей массой 5139 кг. Тогда остается еще 8161кг.

Теперь мы можем вывезти еще максимум 111 грузов (считаем самые маленькие в диапазоне А1:А111). Первые 110 грузов составят 7967 кг, тогда на 111-ый груз останется 194 кг.

Такого груза нет в таблице, поэтому берем ближайший к этому числу (меньше его) груз — 159 кг. Теперь нужно выбрать второй наибольший груз, на него остается 35+136= 171 кг(35 — это разница между 194 и 159, то есть свободное место, 136 — ячейка А110). Такого груза в таблице нет, поэтому берем ближайший к этому числу (меньше его) груз — 157 кг.

Теперь нужно выбрать третий наибольший груз, на него остается 14+136= 150 кг(14 — это разница между 171 и 157, то есть свободное место, 136 — ячейка А109). Такого груза в таблице нет, поэтому берем ближайший к этому числу (меньше его) груз — 149 кг.

Теперь нужно выбрать четвертый наибольший груз, на него остается 1+133= 134 кг(1 — это разница между 151 и 151, то есть свободное место, 134 — ячейка А108). Такого груза в таблице нет, ближайший к нему это как раз груз с массой 133 из ячейки А108.

Значит, грузовик наполнен по максимуму, удалось поместить все 13299 кг. Тогда разница между общей массой и грузоподъемностью грузовика равна 1.

Тогда всего получается 140 грузов с разницей в общей массе и грузоподъемностью 1 кг.

Ответ: 1401

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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