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

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

Задача 1#49390

Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 180 до 200 кг грузят в первую очередь, выбирая грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам. Входные данные представлены в файле 26.txt следующим образом. В первой строке входного файла записаны два целых числа: N  – общее количество грузов и M  – грузоподъёмность грузовика в кг. Каждая из следующих N  строк содержит одно целое число – массу груза в кг. В ответе запишите два целых числа без пробела: сначала максимально возможное количество грузов, затем их общую массу.

Пример организации исходных данных во входном файле:

6 700

100

185

120

160

140

300

В данном случае сначала нужно взять груз массой 185 кг. Остается 515 кг. После этого можно вывезти ещё максимум 3 груза. Это можно сделать четырьмя способами: 100 + 120 + 140, 100 + 140 + 160, 100 + 120 + 160, 120 + 140 + 160. Выбираем способ, при котором вывозится груз наибольшей возможной массы. Таких способов три: 100 + 120 + 160, 100 + 140 + 160, 120 + 140 + 160. Из этих способов выбираем те, при которых больше масса второго по величине груза, то есть 100 + 140 + 160 и 120 + 140 + 160. Их них нужно выбрать вариант 120 + 140 + 160, так как в этом случае третий по величине груз наиболее тяжёлый. Всего получается 4 груза общей массой 605 кг.

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

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

Скопируем все данные в Exel, после этого удалим первую строку с количеством грузов и общей грузоподъемностью.

Отсортируем данные по возрастанию. Сначала нужно взять грузы массой от 180 до 200 кг. Таких грузов 16 (диапазон А154:А169) общей массой 3018 кг. Тогда остается еще 10000 − 3018 = 6982  кг.

Теперь мы можем вывезти максимум 102 груза(считаем самые маленькие в диапазоне А1:А102). Первые 101 груз составят 6776 кг, тогда на 102-ой груз останется 6982− 6776 = 206  кг. Груз такой массы есть в таблице, тогда, берем его. Значит, грузовик наполнен по максимуму, удалось поместить все 10000 кг.

Тогда всего получается 16 + 102 = 118  грузов общей массой 10000кг.

Ответ: 11810000

Ответ: 11810000

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

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

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

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

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

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

Бесплатное обучение
в Школково

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

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

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

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

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

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

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

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