Задача 6: Наборы пирожных
На складе кондитерской фабрики хранятся пирожные двух видов — круассаны и эклеры. Круассанов A штук, а эклеров — B штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера.
Определите, можно ли упаковать все имеющиеся пирожные в коробки и выведите подходящий способ размещения пирожных по коробкам.
Входные данные
Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 ≤ A ≤ 109, 1 ≤ B ≤ 109.
Выходные данные
Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера.
Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число −1.
Система оценивания
Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов.
на питоне пж очень нужно
Answers & Comments
Ответ:
Программа написана на 28 балов из 100, но пока это лучший результат, язык Python
a = int(input())
b = int(input())
if (a + b) % 3 != 0:
print(-1)
elif (a + b)/3 > a or (a + b)/3 > b:
print(-1)
elif (a + b)/3 == a:
print(0)
print((a + b)/3)
elif (a + b)/3 == b:
print((a + b)/3)
print(0)
else:
if a > b:
print(int(((a + b)/3)- (((a + b)/3)-(a - b))))
print(int(((a + b)/3)-(a - b)))
if b > a:
print(int(((a + b)/3)- (((a + b)/3)-(b - a))))
print(int(((a + b)/3)-(b - a)))