Задача по программированию. (python, java, pascal)
B. Соки Ограничение времени: 0.25 секунды Ограничение памяти: 64 МБ Настя устраивает вечеринку, на которую она купила A стаканов ананасового сока, B стаканов апельсинового сока и C стаканов яблочного сока. К ней на вечеринку пришло N одиноких гостей и M пар. Чтобы одинокий гость был доволен, ему нужно дать один стакан любого сока. Чтобы гость, пришедший с парой, был доволен, ему и его паре надо дать по одному стакану одного и того же сока. Найдите, какое наибольшее число гостей Настя может сделать довольными. Исходные данные В пяти строках последовательно вводятся целые числа A, B, C, N, M — количество стаканов каждого из трех соков, число одиноких гостей и число пар (0 ≤ A, B, C, N, M ≤ 5 · 108). Результат Выведите единственное целое число — ответ на задачу.
Пример: исходные данные результат 1 3 0 1 2
Результат: 3
Замечания В примере из условия Настя может сделать счастливыми только одну пару и одного одинокого гостя. Для этого она должна дать каждому человеку из пары по стакану апельсинового сока и один стакан апельсинового (или ананасового) сока дать одинокому гостю. Система оценки и описание подзадач Тесты в этой задаче разбиты на 3 группы. Баллы за группу начисляются при прохождении всех тестов этой и всех необходимых групп.
Пример из условия не оценивается
Ответы (1 шт):
A = int(input()) # стаканов ананасового сока
B = int(input()) # стаканов апельсинового сока
C = int(input()) # стаканов яблочного сока
N = int(input()) # одиноких гостей
M = int(input()) # пар
S = 0 # кол-во довольных людей (человек)
# пар
while A >= 2 and M >= 1:
A -= 2
S += 2
M -= 1
while B >= 2 and M >= 1:
B -= 2
S += 2
M -= 1
while C >= 2 and M >= 1:
C -= 2
S += 2
M -= 1
# одиноких
while A >= 1 and N >= 1:
A -= 1
S += 1
N -= 1
while B >= 1 and N >= 1:
B -= 1
S += 1
N -= 1
while C >= 1 and N >= 1:
C -= 1
S += 1
N -= 1
print(S)
Может не пройти по времени

