За успеваемость!
В некотором классе a двоечников, b троечников, c хорошистов и d отличников (0⩽a,b,c,d⩽1000). Завуч определяет общую успеваемость класса по формуле a⋅2+b⋅3+c⋅4+d⋅5. Например, если a=2, b=5, c=9 и d=0, то успеваемость класса составит 2⋅2+5⋅3+9⋅4+0⋅5=4+15+36=55.
Классный руководитель по опыту знает, что если за одну парту посадить двух человек с разной успеваемостью (например, x и y), то через год их успеваемость сравняется до значения ⌈x+y2⌉ (x+y пополам, округленное вверх до целой части). Например, если посадить рядом двоечника и троечника, то через год двоечник станет троечником, а троечник так и останется троечником. А если посадить рядом двоечника и отличника, то через год они оба станут хорошистами.
классному руководителю рассчитать максимальную успеваемость своего класса через год, если рассадить ребят по-новому.
Формат входных данных
Первая строка входных данных содержит четыре неотрицательных целых числа, записанных через пробел: a, b, c и d. Гарантируется четность суммы этих чисел. Считайте, что лишних парт в классе нет.
Формат выходных данных
Выведите одно натуральное число — максимальную возможную успеваемость класса через год.
Система оценки и описание подзадач
за каждый тест начисляются независимо.
Пояснение к примеру
В примере в классе один двоечник, два троечника, три хорошиста и четыре отличника. Текущая успеваемость равна 1⋅2+2⋅3+3⋅4+4⋅5=2+6+12+20=40. Учитель посадит за первую парту двоечника и отличника, за вторую и третью — троечника и хорошиста, за четвертую — хорошиста и отличника, за пятую — двух отличников. Через год за первой, второй и третьей партами будут сидеть по два хорошиста, за остальными — отличники. Итоговая успеваемость станет равна 6⋅4+4⋅5=24+20=44.
two,tree,four,five=map(int, input().split())
a = min(five,four)
five -= a
four -= a
b = min(four,tree)
tree -= b
four -= b
c = min(tree,two)
tree -= c
two -= c
d = min(two,five)
five -= d
two -= d
m = ((a * 5 + b * 4 + c * 3 + d * 4) * 2) + (two * 2) + (tree * 3) + (four * 4) + (five * 5)
print(m)
Объяснение: