Задача к ЕГЭ по информатике на тему «прочие прототипы» №9

Транспортная компания владеет автомобилями с грузоподъемность M  . Для транспортировки N  грузов автомобили загружают предметами по убыванию веса, пока общая масса предметов не превышает грузоподъемность M  . И далее процедуру повторяют для другого грузовика, до тех пор, пока все предметы не будут погружены.

Нужно определить количество автомобилей для транспортировки всех предметов и общую загрузку предпоследнего автомобиля.

Входные данные:

В первой строке записаны два числа – количество грузов N  и грузоподъёмность автомобиля M  . В каждой из следующих N  строк записано по одному натуральному числу, обозначающему вес груза.

Пример:

6 100

30

10

40

50

10

20

В первый автомобиль будут погружены грузы весом 50  , 40  и 10  , во второй – грузы весом 30,20,10  . Ответ:   2  100.

f=open(’2.txt’)
N, M = map(int, f.readline().split())
g = [int(f.readline()) for _ in range(N)]
g.sort(reverse=True)
cars = []
while g:
    tn = 0
    i = 0
    while i < len(g):
        if tn + g[i] <= M:
            tn += g[i]
            g. pop(i)
        else:
            i += 1
    cars.append(tn)
car_count = len(cars)
if car_count >= 2:
    last_second_load = cars[-2]
else:
    last_second_load = 0
print(car_count, last_second_load)

Ответ: 38 1481
Оцените статью
Я решу все!