26.03 Перевоз грузов
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 180 до 200 кг грузят в первую очередь, выбирая грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам. Входные данные представлены в файле 26.txt следующим образом. В первой строке входного файла записаны два целых числа: – общее количество грузов и – грузоподъёмность грузовика в кг. Каждая из следующих строк содержит одно целое число – массу груза в кг. В ответе запишите два целых числа без пробела: сначала максимально возможное количество грузов, затем их общую массу.
Пример организации исходных данных во входном файле:
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 кг. Тогда остается еще кг.
Теперь мы можем вывезти максимум 102 груза(считаем самые маленькие в диапазоне А1:А102). Первые 101 груз составят 6776 кг, тогда на 102-ой груз останется кг. Груз такой массы есть в таблице, тогда, берем его. Значит, грузовик наполнен по максимуму, удалось поместить все 10000 кг.
Тогда всего получается грузов общей массой 10000кг.
Ответ: 11810000
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от до кг грузят в первую очередь. На оставшееся после этого место стараются взять как можно больше грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.
Входные данные
Первая строка входного файла содержит два целых числа через пробел: — общее количество грузов и — грузоподъёмность грузовика в кг. Каждая из следующих строк содержит одно целое число — массу груза в кг.
Выходные данные
В ответе запишите два целых числа: сначала максимально возможное количество грузов, затем их общую массу.
Пример входных данных:
В данном случае сначала нужно взять груз массой кг. После этого можно вывезти ещё максимум груза. Это можно сделать тремя способами: , , . Выбираем способ, при котором вывозится груз наибольшей возможной массы. Такой способ один: . Всего получается груза общей массой кг. В ответе надо записать числа и .
Решение 1 ( Excel / LibreOffice):
Откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice.
Перенесем числовые значения размера архива и кол-ва пользователей куда-нибудь, где они нам не помешают. Сортируем
все данные ниже 1 строки (жмём н левую верхнюю ячейку Сортировка и фильтр Сортировка по
возрастанию). Листаем вниз и находим первый груз размером 150, зажимаем эту ячейку и тянем вниз, пока не получим в
правом нижнем углу максимальную сумму, не превышающую 8742. Получаем 8593 и количество 55. У нас остается 149 кг
(8742 - 8593) свободного места, переходим в самый верх и с самого первого груза начинаем набирать максимальную
сумму, не превышающую 149, выходит 147 и количество 35. Заменяем груз весом 8 на груз весом 10, так как
займем больше место. Выходит, что мы заняли всё место, значит, сумм 8742, а количество 55 + 35 = 90.
Решение 2 (Python):
file = open("Задание_26__i0ia.txt") lines = file.readlines() n, m = map(int, lines[0].split()) array = list(map(int, lines[1:])) array = sorted(array) i = 0 current_sum = 0 last_elem = 0 ind_last = 0 count = 0 while array[i] <= 200: if array[i] >= 150 and current_sum + array[i] <= m: current_sum += array[i] last_elem = array[i] count += 1 else: ind_last = i i += 1 for j in range(ind_last): if current_sum + array[j] <= m: current_sum += array[j] last_elem = array[j] count += 1 for j in range(i, len(array)): if current_sum + array[j] <= m: current_sum += array[j] last_elem = array[j] count += 1 free_space = m - current_sum + last_elem for i in range(len(array) - 1, 0, -1): if array[i] <= free_space: current_sum += array[i] - last_elem break print(count, current_sum)
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому
перевезти сразу все грузы не удастся. Грузы массой от 250 до 275 кг включительно грузят в первую очередь, выбирая
грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно
большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при
котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно
несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д.
Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить
количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.
Входные данные представлены в файле 3.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 кг. Ответ: 4
605.
Открываем Excel и вставляем данные из файла. Удаляем первую строку, при этом запоминаем, что максимальная грузоподъемность – 12000.
Сортируем столбец А по возрастанию. Находим промежуток со значениями от 250 до 275. Количество таких чисел 30, их сумма 7907. Фиксируем эту информацию где-нибудь в таблице. Удаляем эти значения из списка.
Теперь нам необходимо отобрать максимальное число грузов, поэтому в ячейку B1 копируем значение из ячейки A1, а в ячейку B2 записываем формулу:
=B1+A2
и растягиваем её вниз до конца таблицы. Также где-нибудь в стороне посчитаем запас грузоподъемности: . Находим в столбце В значение, близкое к 4093, оно равно 4013. То есть условно у нас в запасе остается ещё 80 кг. Заменим какое-нибудь значение из списка, чтобы максимально приблизиться к 12000. Это будет значение 90, так как , а значение 170 как раз есть в таблице.
Получаем количество грузов: и их вес . Ответ: 10712000.
Ошибка.
Попробуйте повторить позже
Задание выполняется с использованием прилагаемых файлов
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 310 до 320 кг включительно грузят в первую очередь, выбирая грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д. Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.
Входные данные
Первая строка входного файла содержит два целых числа через пробел: N — общее количество грузов и M — грузоподъёмность грузовика в кг. Каждая из следующих N строк содержит одно целое число — массу груза в кг.
Выходные данные
В ответе запишите два целых числа: сначала максимально возможное количество грузов, затем их общую массу.
Пример организации исходных данных во входном файле:
В данном случае сначала нужно взять груз массой 315 кг. Остается 405 кг. После этого можно вывезти ещё максимум 3 груза. Это можно сделать тремя способами: 100 + 120 + 140, 100 + 140 + 160, 100 + 120 + 160. Выбираем способ, при котором вывозится груз наибольшей возможной массы. Таких способов два: 100 + 120 + 160, 100 + 140 + 160. Из этих способов выбираем тот, при котором больше масса второго по величине груза, то есть 100 + 140 + 160. Всего получается 4 груза общей массой 715 кг. Ответ: 4 715.
Решение 1 ( Excel / LibreOffice):
Сначала откроем текстовый документ, скопируем значения и перенесем их в Excel или LibreOffice. Для удобства числовые
значения количества грузов и грузоподъёмность грузовика (, ) подвинем правее в ячейки и .
Сортируем данные столбца ( Сортировка и фильтр — Сортировка по возрастанию). Находим первый груз
размером и начинаем набирать, пока не получим в правом нижнем углу максимальную сумму, не превышающую
. Мы собрали груз массой . У нас остается кг () свободного места.
Используем жадный алгоритм: чтобы вывезти максимальное количество грузов, необходимо брать грузы с
наименьшей массой до тех пор, пока их суммарная масса меньше грузоподъемности. Поэтому переходим в
самый верх и начинаем набирать максимальную массу, не превышающую . Выходит, что мы можем
взять груза массой кг. Заменяем груз весом на груз весом , так как займем больше
места. Выходит, что мы заняли всё место, значит, сумма равна , а количество .
Решение 2 (Python):
file = open("Задание_26__i0ia.txt") lines = file.readlines() n, m = map(int, lines[0].split()) array = list(map(int, lines[1:])) array = sorted(array) i = 0 current_sum = 0 last_elem = 0 ind_last = 0 count = 0 while array[i] <= 320: if array[i] >= 310 and current_sum + array[i] <= m: current_sum += array[i] last_elem = array[i] count += 1 else: ind_last = i i += 1 for j in range(ind_last): if current_sum + array[j] <= m: current_sum += array[j] last_elem = array[j] count += 1 for j in range(i, len(array)): if current_sum + array[j] <= m: current_sum += array[j] last_elem = array[j] count += 1 free_space = m - current_sum + last_elem for i in range(len(array) - 1, 0, -1): if array[i] <= free_space: current_sum += array[i] - last_elem break print(count, current_sum)
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому
перевезти сразу все грузы не удастся. Грузы массой от 200 до 230 кг включительно грузят в первую очередь, выбирая
грузы по убыванию массы, начиная с самого тяжёлого. На оставшееся после этого место стараются взять как можно
большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при
котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно
несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и т.д.
Известны количество грузов, масса каждого из них и грузоподъёмность грузовика. Необходимо определить
количество и общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам.
Входные данные представлены в файле 26_2.txt следующим образом. В первой строке входного файла записаны два
целых числа: N – общее количество грузов и M – грузоподъёмность грузовика в кг. Каждая из следующих N строк
содержит одно целое число – массу груза в кг. В ответе запишите два целых числа через пробел: сначала максимально
возможное количество грузов, затем их общую массу.
Пример организации исходных данных во входном файле:
6 900
100
210
215
160
240
300
В данном случае сначала нужно взять груз массой 210 и 215 кг. Остается 475 кг. После этого можно вывезти ещё
максимум 2 груза. Это можно сделать пятью способами: 100 + 160, 100 + 240, 100+300, 160 + 240, 160+300. Выбираем
способ, при котором вывозится груз наибольшей возможной массы. Таких способов два: 100 +300, 160+300. Из этих
способов выбираем тот, при котором больше масса второго по величине груза, то есть 160+300. Всего получается 4
груза общей массой 885 кг. Ответ: 4 885.
Отсортируем данные по возрастанию. Сначала нужно взять грузы массой от 200 до 230кг. Таких грузов 32 (диапазон А170:А201) общей массой 6888кг. Тогда остается еще 4612кг.
Теперь мы можем вывезти максимум 82 груза(считаем самые маленькие в диапазоне А1:А82). Первые 81 груза составят 4421кг, тогда на 82 груз останется 191кг. Такой груз есть в таблице, поэтому 82 груза составят ровно 4612кг.
Тогда всего получается 114 грузов общей массой 11500кг.
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъёмность ограничена, поэтому
перевезти сразу все грузы не удастся. Грузы массой от 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 кг.
Ошибка.
Попробуйте повторить позже
На грузовом судне необходимо перевезти контейнеры, имеющие одинаковый габарит и разные массы. Общая масса всех контейнеров превышает грузоподъёмность судна. Количество грузовых мест на судне не меньше количества контейнеров, назначенных к перевозке. Какое максимальное количество контейнеров можно перевезти за один рейс и какова масса самого тяжёлого контейнера среди всех контейнеров, которые можно перевезти за один рейс? В ответе запишите найденные значения через пробел.
Входные данные. В первой строке входного файла находятся два числа: S – грузоподъёмность судна (натуральное число, не превышающее 100 000) и N – количество контейнеров (натуральное число, не превышающее 10 000). В следующих N строках находятся значения масс контейнеров, требующих транспортировки (все числа натуральные, не превышающие 1000), каждое в отдельной строке.
Выходные данные. Два целых неотрицательных числа: максимальное количество контейнеров, которые можно перевезти за один рейс и масса наиболее тяжёлого из них.
Открываем программу Excel и загружаем в неё наш файл.
Сортируем данные столбца А по возрастанию, таким образом, сверху получаем значения наименьшей массы грузов. В ячейку дублируем значение из ячейки , а в ячейку записываем формулу: . Растягиваем формулу вниз до конца и ищем в столбце значение, близкое к 8000. Оно находится в ячейке и равно 7925.
Количество свободной для заполнения массы равно , значит, мы можем заменить последний найденный груз массы 78 на груз массы , следовательно, он и будет являться максимальным.
Ошибка.
Попробуйте повторить позже
На судне необходимо перевезти ящики, имеющие одинаковый габарит и разные массы. Общая масса всех ящиков превышает грузоподъёмность судна. Количество грузовых мест на судне не меньше количества ящиков, назначенных к перевозке. Определите минимальное количество ящиков, которое может остаться после погрузки, и их наибольшую возможную суммарную массу.
Входные данные. В первой строке входного файла находятся два числа: S – грузоподъёмность судна (натуральное число, не превышающее 100 000) и N – количество ящиков. В следующих N строках находятся значения масс ящиков, требующих транспортировки (все числа натуральные, не превышающие 100), каждое в отдельной строке.
Выходные данные. Два целых неотрицательных числа: минимальное количество ящиков, которое может остаться после погрузки, и их наибольшая возможная суммарная масса.
Открываем программу Excel и загружаем в неё наш файл. Сортируем столбец А во возрастанию. В столбце В начинаем суммировать значения масс. Для этого в ячейку B1 помещаем значение ячейки A1, а в ячейку B2 помещаем формулу: и растягиваем её вниз. Ищем значение суммы, которое близко к значению грузоподъемности судна. Оно находится в строке 2209. Значит, погрузить мы можем 2209 контейнеров и остаются непогруженными .
Так как мы сортировали данные по возрастанию, то у нас остались максимально возможные грузы. Поэтому, чтобы найти максимально возможную суммарную массу, необходимо просуммировать значения ячеек . Эта сумма равна 542450.
Ошибка.
Попробуйте повторить позже
На складе лежат канистры с бензином различного объема и стоимости. Объем и стоимость записаны на каждой канистре как натуральные числа: объем не превосходит 100, стоимость не превосходит 1000. Для транспортировки отбираются K канистр с самой низкой ценой бензина за единицу объема; при равной стоимости за единицу оьъема выбираются канистры с большим объемом.
По заданной информации о канситрах с бензином и количестве транспортируемых канистр определите суммарный объем нефти в отправленных канистрах и стоимость самого большой отправленнй канистры.
Входные данные: в первой строке через пробел записаны числа N – количество канистр на складе (натуральное число, не превышающее 1000) и K – количество канистр на отправку (натуральное число, не превосходящее 100). В каждой из последующих N строк через пробел записаны два числа – объем и стоимость каждой канистры.
Запишите в ответе два числа через пробел – сначала суммарный объем бензина в отправленных канистрах, затем стоимость самой большой отправленной канистры.
Пример организации исходных данных во входном файле:
10 4
47 470
50 600
60 480
45 540
30 300
15 180
70 560
30 360
91 910
40 320
Ответ для данного примера: 261 910
Перенесем данные в Excel. Затем необходимо удалить первую строку, так как в ней содержится информация о количестве всех канистр и количестве отгружаемых, а нам требуется только информация о самих канистрах.
Так как первый критерий отбора канистры для отгрузки это цена за единицу объема, то сначала ее необходимо найти. Для этого в ячейку C1 запишем формулу: =B1/A1.
Теперь нужно отсортировать все канистры так, как требует этого задание. Для этого заходим в пользовательскую сортировку, выбираем первым критерием сортировки столбец C, по возрастнию, а вторым критерием столбец A, по убыванию.
После сортировки необходимо найти сумму по столбцу A для первых 45 строк, сделать это можно с помощью формулы: =СУММ(A1:A45).
И остается только найти канистру с максимальным объемом из этого диапазона и определить ее стоймость. Первое можно сделать с помощью функции МАКС, а второе с помощью фильтра по найденному значению.
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выкупают место у компании, которая организует перевозку на грузовых судах. Судно не может принять на борт больше S тонн груза. Известно, что отдельный груз нельзя разделить для перевозки, то есть один груз должен доставляться одним рейсом на одном грузовом судне. В первую очередь перевозятся грузы как можно большей массы.
За какое минимальное количество рейсов можно перевезти все грузы?
Входные данные представлены в файле следующим образом. В первой строке входного файла записаны два целых числа: N — общее количество грузов и S - грузоподъёмность судна в тоннах. Каждая из следующих N строк содержит одно целое число < S - массу груза в тоннах. В ответе запишите два числа — минимальное количество рейсов и суммарную массу грузов, которые будут перевезены последним рейсом.
Пример входного файла:
6 500
140
150
160
200
220
240
Первым рейсом будет отправлено 2 груза - 240 и 220, вторым - 200, 160 и 140, третьим - 150. При таких входных данных ответ будет 3 и 150.
with open(’26.txt’, ’r’) as f: number, load = map(int, f.readline().split()) # Читаем количество грузов и грузоподъемность # Читаем грузы all_cargo = [] for _ in range(number): all_cargo.append(int(f.readline())) all_cargo.sort(reverse=True) count = 0 while len(all_cargo): cargo = all_cargo[0] del(all_cargo[0]) # Забираем самый тяжелый груз count += 1 # Если есть грузы, которые поместятся еще на этот рейс, забираем и их vz = [] for i in range(len(all_cargo)): if all_cargo[i] + cargo <= load: cargo = cargo + all_cargo[i] vz.append(i) # удаляем те грузы, которые только что забрали for i in range(len(vz)): x = vz[i] - i # вычитаем i так как после удаления очередного элемента индексация смещается print(x, len(all_cargo)) del(all_cargo[x]) print(count, cargo)
Ошибка.
Попробуйте повторить позже
Для перевозки партии грузов различной массы выделен грузовик, но его грузоподъемность ограничена, поэтому перевезти сразу все грузы не удастся. Грузы массой от 100 до 180 кг не включительно грузят в первую очередь, выбирая грузы по убыванию массы, начиная с самого тяжелого. На оставшееся после этого место стараются взять как можно большее количество грузов. Если это можно сделать несколькими способами, выбирают тот способ, при котором самый большой из выбранных грузов имеет наибольшую массу. Если и при этом условии возможно несколько вариантов, выбирается тот, при котором наибольшую массу имеет второй по величине груз, и так далее. Известны количество грузов, масса каждого из них и грузоподъемность грузовика. Необходимо определить общую массу грузов, которые будут вывезены при погрузке по вышеописанным правилам и массу последнего погруженного груза.
Входные данные представлены в файле 26_5.txt следующим образом. В первой строке входного файла записаны два целых числа: N – общее количество грузов и М – грузоподъемность грузовика в кг. Каждая из следующих N строк содержит одно целое число – массу груза в кг. В ответе запишите два целых,числа: сначала общую массу всех грузов, затем массу последнего погруженного груза.
Откроем файл в Excel. Удаляем первую строку, предварительно запомнив значения в ней: 4000 и 18000. Сортируем столбец А в порядке возрастания.
Ищем грузы от 101 до 179 кг включительно, копируем их и вставляем в столбец C, при этом удаляем их из столбца А. Их масса равна 32001.
Посчитаем, сколько грузоподъемности у нас останется после набора выбранных грузов: кг – оставшаяся грузоподъемность.
На оставшиеся места возьмем наименьшие по массе грузы. В ячейку B1 копируем значение из ячейки А1. В ячейку В2 записываем формулу: =В1+А2 и растягиваем вниз до конца таблицы.
Проходимся по столбцу В и ищем значение, максимально приближенное к 147999. Это значение – 147696. До полного заполнения грузовика остается кг. Значит, нам выгодно взять груз не 366 кг, а 669. Такой груз присутствует в списке, значит число 669 будет ответом на второй вопрос.
Так как грузовик полностью забит, то масса всех грузов: 180000.
Ошибка.
Попробуйте повторить позже
Городская почта каждый день готовит к отправке письма и посылки. Объём кузова грузовика, на котором повезут посылки, известен, и он меньше, чем объём всех посылок. По заданной информации об объёме посылок и кузова определите максимальное количество посылок, которое может быть перевезено за два раза, а также максимально возможный размер посылки, при условии, что требуется перевезти наибольшее возможное количество посылок.
Входные данные
В первой строке входного файла находятся два числа: K — размер свободного места (объём) в кузове грузовика (натуральное число, не превышающее 1000000) и N – количество посылок, которые надо перевезти (натуральное число, не превышающее 10000). В следующих N строках находятся значения объёмов указанных посылок (все числа натуральные, не превышающие 1000), каждое в отдельной строке.
Выходные данные
Запишите в ответе два числа: сначала наибольшее число посылок, которые могут быть перевезены за два раза, затем максимальный размер посылки, при условии, что нужно перевезти наибольшее возможное количество посылок. Если вариантов комплектации несколько, выберите тот, при котором будет доставлена посылка наибольшего объёма.
Откроем файл в Excel. Удаляем первую строку, предварительно запомнив значения в ней: 270000 и 10000. Сортируем столбец А в порядке возрастания.
Выделяем ячейку А1 и протягиваем вниз таблицы до тех пор пока снизу значение не приблизиться к значение 270000. Ближайшее такое число – 269961. Количество грузов при этом – 2295.
Так как остается при первой погрузке 39 кг для полного заполнения кузова, то заменим один груз весом 236 кг на груз весом 275 кг. Удалим все отвезенные в первый раз грузы.
Аналогично первому проходу снова выделяем ячейки в столбце А до тех пор пока не приблизимся к число 270000, получаем ближайшее значение: 269783 и количество грузов: 949.
У нас остается ещё 217 кг свободного пространства, поэтому заменим значение 332 кг на 549 кг.
Получаем количество посылок: и максимальный размер посылки: 549.