Python

ЗАДАЧА ПО ПИТОНУ ПОМОГИТЕ ПЖ

Три толстяка с весами x, y и z хотят подняться на лифте. Лифт может поднять людей с суммарным весом не больше m. За какое минимальное число поездок они смогут подняться?

Входные данные
Ввод состоит из одной строки, содержащей четыре целых числа x, y и z и m. (1≤x,y,z≤m, 1≤m≤1000).

Выходные данные
Выведите одно число — минимальное число поездок на лифте.
Ivan Ponkratenko
Ivan Ponkratenko
82
в задачке не сказано, что их нельзя расчленять
так что дели сумму и округляй вверх
ПО
Пётр Орехов
4 033
Лучший ответ
Ivan Ponkratenko щас не понял
Можегшь программу
A = list(map(int, input('x y z m ').split()))
#A = list(map(int, input().split()))# Если тестирование автоматическое, то подсказки что надо вводить, скорее всего запрещены
#A = [3, 3, 2, 4]
m = A.pop()
A.sort()

if sum(A)<=m:
~~~~print(1)
elif sum(A[:-1])<=m:
~~~~print(2)
else:
~~~~print(3)

"""
# А если людей не три, а произвольное число, то так
#A = [1, 2, 3, 2, 1, 3, 6, 2, 1, 1, 7]
A = list(map(int, input().split()))
m = A.pop()
A.sort()
print(A,m, '\n')

sm = 0 # вес для поездки
up = 1 # число поездок
L = [] # Лифт
n = 0
for i, a in enumerate(A):
~~~~sm += a
~~~~n += 1
~~~~L.append(a)
~~~~if i < len(A)-1:
~~~~~~~~if sm + A[i+1] > m:
~~~~~~~~~~~~up += 1
~~~~~~~~~~~~print('^', i+1, n, L)
~~~~~~~~~~~~sm = 0
~~~~~~~~~~~~n = 0
~~~~~~~~~~~~L = []

print('^', i+1, n, L)
print(up)
"""
x, y, z, m = map(int, input().split())
if x + y + z <= m: print(1 if x + y + z <= m else 2 if x + y <= m or x + z <= m or y + z <= m else 3)
Ivan Ponkratenko не понял