Предмет: Информатика, автор: nikita88728

Сдать решение задачи 2-Наборы пирожных

Полный балл: 100
Ограничение времени: 400 мс
Ограничение памяти: 512M
Ограничение размера стека: 64M
Задача 2: Наборы пирожных

На складе кондитерской фабрики хранятся пирожные двух видов — круассаны и эклеры. Круассанов A штук, а эклеров — B штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера.

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

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

Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 ≤ A ≤ 109, 1 ≤ B ≤ 109.

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

Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера.

Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число −1.

Система оценивания

Решение, правильно работающее только для случаев, когда числа A и B не превосходят 100, будет оцениваться в 60 баллов.

Примеры

Ввод
Вывод
Пояснение
4
5
1 2
Нужно взять одну коробку с двумя круассанами и одним эклером и две коробки с одним круассаном и двумя эклерами. Всего получится 4 круассана и 5 эклеров.
5
3
−1
Разложить пирожные по коробкам нельзя.

Приложения:

nikita88728: Помогите кто-нибудь пожайлуста
eeeee2121: 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)))

Ответы

Автор ответа: eeeee2121
3

Ответ:

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)))

Объяснение:


arsstrong: какой язык програмирования использовал ты?
danatukhvatulina: как скопировать?
Похожие вопросы
Предмет: Русский язык, автор: makhmudovaasia
Предмет: Математика, автор: BodayBilder