Модуль: (C++) Вложенный условный оператор. Сложные условия


Задача

13 /13


В автобусе


Задача

Цена проезда в автобусах нашего города — один рубль. Однако, не все так просто — каждый взрослый пассажир имеет право провезти бесплатно не более одного ребенка. Это значит, что взрослый пассажир, который провозит с собой k (\(k >0\)) детей, платит всего k рублей: за один билет для себя и за (k-1) билетов для своих детей. Также взрослый может ехать без детей, в этом случае он платит всего один рубль. Известно, что дети не могут проезжать в автобусе без сопровождения взрослых.
 
Помогите посчитать минимальную и максимальную стоимость проезда в рублях, которую могли заплатить пассажиры автобуса.
 
Входные данные
Входная строка содержит два целых числа n и m (\(0 <= n,\ m <= 10^5\)) — количество взрослых и количество детей в автобусе, соответственно.
 
Выходные данные
В ответе выведите через пробел два числа — минимальную и максимальную возможную стоимость проезда, если поездка возможна, в противном случае следует вывести «Impossible» (без кавычек).

 

Примеры
Входные данные Выходные данные
1 1 2 2 2
2 0 5 Impossible
3 2 2 2 3


 

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w64425
Free Pascal20
C#1
Java4
Python1366
PascalABC1
Комментарий учителя