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

6 615

140

215

120

160

100

340

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

Aikony Aikony    1   16.03.2021 14:29    148

Ответы
Ali954 Ali954  07.01.2024 12:28
Хорошо, давайте разберемся вместе.

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

Для начала, нужно прочитать числа N и M из первой строки входного файла. Число N представляет собой общее количество грузов, а число M - грузоподъемность грузовика.

Затем, следующие N строк содержат массы каждого из грузов.

Давайте применим правила погрузки, описанные в задаче, поэтапно к примеру из входного файла.

1. Вам известно, что грузы массой от 210 до 220 кг грузят в первую очередь. Следовательно, сначала мы выбираем грузы массой 215 кг.

2. После того, как мы загрузили грузы массой 215 кг, на оставшееся после этого место стараемся взять как можно больше грузов. При этом выбираем тот вариант, при котором самый большой из выбранных грузов имеет наибольшую массу.

В нашем случае, у нас есть 3 оставшихся груза со следующими массами: 140 кг, 120 кг, 160 кг. Мы можем выбрать грузы с общей массой 140 кг + 120 кг + 100 кг = 360 кг или 140 кг + 160 кг + 100 кг = 400 кг.

Из этих двух вариантов выбираем тот, при котором больше масса второго по величине груза, то есть 140 кг + 160 кг + 100 кг.

3. Получилось, что мы смогли вывезти 4 груза с общей массой 615 кг.

Теперь давайте запишем ответ в заданном формате: сначала максимально возможное количество грузов, затем их общую массу. В нашем случае ответ будет "4 615".

Я надеюсь, что ясно объяснил задачу и как на нее можно найти ответ. Если у вас возникли дополнительные вопросы, пожалуйста, спрашивайте.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика