В торговом центре этажи нумеруются так: \(\ldots, -3, -2, -1, 1, 2, 3, \ldots\) (то есть нет нулевого этажа). Вася спустился на лифте с этажа с номером \(A\) на \(B\) этажей, а затем поднялся на лифте на \(C\) этажей. Определите, на каком этаже он оказался.
Программа получает на вход три целых числа: в первой строке записано число \(A\), во второй — \(B\), в третьей — \(C\). Число \(A\) не равно нулю и не превосходит по модулю 100, числа \(B\) и \(C\) — положительные и не превосходят 100.
Программа должна вывести одно целое число — номер этажа, на котором оказался Вася.
Ввод | Вывод |
---|---|
5 |
13 |
3 |
-7 |
Уличный рекламный щит прикреплён к опоре при помощи трёх креплений. Первое крепление может выдерживать ветер, скорость которого не превосходит \(A\) м/c, второе крепление — \(B\) м/c, третье — \(C\) м/с. Сам щит будет надёжно закреплён, если как минимум два крепления из трёх выдерживают ветер данной скорости. Определите максимальную скорость ветра, которую выдержит данный щит.
Программа получает на вход три целых положительных числа \(A\), \(B\), \(C\), не превосходящие \(2\times10^9\), — допустимые скорости ветра, которые выдерживают три крепления щита.
Программа должна вывести одно число — максимальную скорость ветра, которую выдержит щит.
Ввод | Вывод |
---|---|
28 |
15 |
Посередине озера плавает плот, имеющий форму прямоугольника. Стороны плота направлены вдоль параллелей и меридианов. Введём систему координат, в которой ось \(OX\) направлена на восток, а ось \(OY\) — на север. Пусть юго-западный угол плота имеет координаты \((x_1, y_1)\), северо-восточный угол — координаты \((x_2, y_2)\).
Пловец находится в точке с координатами \((x, y)\). Определите, к какой стороне плота (северной, южной, западной или восточной) или к какому углу плота (северо-западному, северо-восточному, юго-западному, юго-восточному) пловцу нужно плыть, чтобы как можно скорее добраться до плота.
Программа получает на вход шесть чисел в следующем порядке: \(x_1\), \(y_1\) (координаты юго-западного угла плота), \(x_2\), \(y_2\) (координаты северо-восточного угла плота), \(x\), \(y\) (координаты пловца). Все числа целые и по модулю не превосходят 100. Гарантируется, что \(x_1 \lt x_2\), \(y_1 \lt y_2\), \(x \ne x_1\), \(x \ne x_2\), \(y \ne y_1\), \(y \ne y_2\), координаты пловца находятся вне плота.
Если пловцу следует плыть к северной стороне плота, программа должна вывести символ «N», к южной — символ «S», к западной — символ «W», к восточной — символ «E». Если пловцу следует плыть к углу плота, нужно вывести одну из следующих строк: «NW», «NE», «SW», «SE».
Ввод | Вывод |
---|---|
-1 |
NW |
На складе кондитерской фабрики хранятся пирожные двух видов — круассаны и эклеры. Круассанов \(A\) штук, а эклеров — \(B\) штук. Есть неограниченный запас подарочных коробок, в каждую коробку можно положить только три пирожных. При этом требуется, чтобы в коробке были пирожные обоих видов, то есть в одну коробку можно положить два круассана и один эклер или один круассан и два эклера.
Определите, можно ли упаковать все имеющиеся пирожные в коробки и выведите подходящий способ размещения пирожных по коробкам. Программа получает на вход два целых числа \(A\) и \(B\), \(1\le A\le 10^9\), \(1\le B\le 10^9\).
Если можно разложить все пирожные по коробкам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству коробок, в которых лежит два круассана и один эклер. Второе число равно количеству коробок, в которых лежит один круассан и два эклера.
Если разложить все пирожные по коробкам нужным способом нельзя, программа должна вывести одно число \(-1\).
Ввод | Вывод |
---|---|
4 |
1 2 |
5 |
-1 |
Кварталы Манхэттена состоят из авеню, направленных с юга на север и улиц, направленных с запада на восток. Все улицы и авеню пронумерованы числами, начиная с 1 подряд (первая улица, вторая улица, третья улица и т. д.). Передвигаться можно только по улицами или по авеню.
Миша впервые попал на Манхэттен. Сейчас он стоит на пересечении авеню номер \(x_1\) и улицы номер \(y_1\). Ему нужно попасть на перекресток авеню номер \(x_2\) и улицы номер \(y_2\). Определите маршрут, который он должен пройти.
Программа получает на вход 4 числа: \(x_1\), \(y_1\), \(x_2\), \(y_2\), записанных в отдельных строках. Все числа — натуральные, не превышают \(10^3\). Начальное и конечное расположение Миши не совпадают.
Программа должна вывести последовательность из латинских заглавных букв, описывающих маршрут, которому должен следовать Миша. Буква «N» обозначает перемещение на один квартал на север, «S» — на юг, «W» — на запад, «E» — на восток. Программа должна вывести самый короткий из всех возможных маршрутов, если же кратчайших маршрутов существует несколько, то программа должна вывести любой из них (но только один).
Ввод | Вывод |
---|---|
1 |
ESESE |
В параде принимают участие \(M\) военных. Командование парада решило, что наиболее эффектное построение военных — в форме квадрата, то есть число участников построения должно быть точным квадратом. Но поскольку число \(M\) может не быть точным квадратом, разрешается разбить военных на несколько полков, каждый из которых строится в форме квадрата. Для красоты все полки должны быть одинакового размера, также командование парада хочет, чтобы размер каждого полка был как можно больше. Определите максимально возможный размер полка.
Программа получает на вход одно целое положительное число \(M\), не превосходящее \(2\times 10^9\), — количество участников парада. Программа должна вывести одно число — максимально возможный размер полка.
Ввод | Вывод |
---|---|
180 |
36 |
Алёна собирает вещи в отпуск. С собой в самолёт она может взять ручную кладь и багаж. Для ручной клади у Алёны есть рюкзак, а для багажа — огромный чемодан.
По правилам перевозки масса ручной клади не должна превосходить \(S\) кг, а багаж может быть любой массы (за сверхнормативный багаж Алёна готова доплатить). Разумеется, наиболее ценные вещи — ноутбук, фотоаппарат, документы и т. д. — Алёна хочет положить в ручную кладь.
Алёна разложила все свои вещи в порядке уменьшения их ценности и начинает складывать наиболее ценные вещи в рюкзак. Она действует следующим образом — берёт самый ценный предмет, и если его масса не превосходит \(S\), то кладёт его в рюкзак, иначе кладёт его в чемодан. Затем она берёт следующий по ценности предмет, если его можно положить в рюкзак, то есть если его масса вместе с массой уже положенных в рюкзак вещей не превосходит \(S\), то кладёт его в рюкзак, иначе в чемодан, и таким же образом процесс продолжается для всех предметов в порядке убывания их ценности.
Определите вес рюкзака и чемодана после того, как Алёна сложит все вещи.
Первая строка входных данных содержит число \(S\) — максимально разрешённый вес рюкзака. Во второй строке входных данных записано число \(N\) — количество предметов. В следующих \(N\) строках даны массы предметов, сами предметы перечислены в порядке убывания ценности (сначала указана масса самого ценного предмета, затем масса второго по ценности предмета и т. д.). Все числа натуральные, число \(S\) не превосходит \(2\times 10^9\), сумма весов всех предметов также не превосходит \(2\times 10^9\). Значение \(N\) не превосходит \(10^5\).
Программа должна вывести два числа — вес рюкзака и вес чемодана (вес пустого рюкзака и чемодана не учитывается).
Ввод | Вывод |
---|---|
20 |
18 8 |
Легенда гласит, что Карл Фридрих Гаусс, учась в школе, смог быстро посчитать сумму целых чисел от 1 до 100, заметив, что \(1 + 100 = 2 + 99 = \ldots = 50 + 51\). Теперь решите задачу посложнее: можно ли перед каждым из чисел от 1 до \(N\) расставить знаки «+» или «–» так, чтобы сумма получившихся чисел была равна 0? Например, для \(N = 3\) сумма \(-1-2 +3\) будет равна 0, а для \(N = 2\) этого сделать нельзя.
Программа получает на вход целое неотрицательное число \(N\), не превосходящее \(10^5\). Программа должна вывести последовательность из \(N\) символов «+» или «−», соответствующих знакам, которые нужно расставить перед числами от 1 до \(N\) так, чтобы сумма получившихся чисел была равна 0. Если задача имеет несколько решений, нужно вывести один (лобой) ответ. Если задача не имеет решения для данного \(N\), нужно вывести одно слово «IMPOSSIBLE».
Ввод | Вывод |
---|---|
3 |
--+ |
2 | IMPOSSIBLE |
Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить на занятия кружка по программированию. Придя на первое занятие кружка, он узнал, что занятия будут проходить еженедельно в один и тот же день недели. Помогите Володе составить календарь занятий до конца года — определите даты всех занятий, начиная с первого занятия и до конца года.
Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел — 9, 10, 11, 12. Номер дня месяца — число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами 10 и 12).
Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.
Ввод | Вывод |
---|---|
11 |
11 20 |
Как известно, при разработке и отладке программ большую помощь могут оказать игрушечные жёлтые уточки (см. статью «Метод утёнка» в википедии), поэтому Денис собрал большую коллекцию жёлтых уточек. Коллекция уже настолько большая, что Денис решил расставить уточек на полки шкафа. Сначала он начал ставить на каждую полку по \(A\) уточек, но одна уточка оказалась лишней. Тогда он заново начал расставлять уточек на полки, ставя на каждую полку по \(B\) уточек, но в этом случае ему не хватило одной уточки, чтобы на каждой полке оказалось ровно \(B\) уточек. Определите минимальное число уточек, которое могло быть в коллекции Дениса.
Программа получает на вход два целых положительных числа \(A\) и \(B\), \(2 \le A \le 2\times 10^9\), \(2 \le B \le 2\times 10^9\) — количество уточек при расстановке на полке в первом и во втором случаях. Программа должна вывести одно число — минимально возможное количество уточек в коллекции Дениса. Гарантируется, что ответ существует и не превосходит \(2\times 10^9\).
Ввод | Вывод |
---|---|
5 |
11 |
В первом ряду кинотеатра \(N + 2\) мест, крайние места заняты персоналом кинотеатра, но \(N\) мест посередине свободно. \(K\) школьников входят в зрительный зал по очереди, и, конечно же, каждый школьник достаёт спиннер и начинает его крутить до начала сеанса. Поэтому каждый школьник выбирает себе место как можно дальше от уже занятых мест. А именно, школьник находит самый большой свободный участок в ряду (любой, если таких несколько) и садится посередине него. Если число свободных мест на этом участке было нечётно, то школьник садится точно посередине участка, тогда слева и справа от него остаётся поровну свободных мест. Если же это число чётно, то школьник выбирает одно из двух свободных мест посередине, тогда с одной стороны от школьника будет на одно свободное место больше, чем с другой стороны.
По данным числам \(N\) и \(K\) определите, сколько мест осталось свободными с двух сторон от школьника, который занял место последним (\(K\)-м по счёту).
Программа получает на вход два целых числа \(N\) и \(K\), \(1 \le K \le N \le 10^{18}\), и должна вывести два целых числа в порядке неубывания — количество свободных мест с двух сторон от школьника, который последним занял место в ряду.
Ввод | Вывод |
---|---|
10 |
4 5 |
10 |
2 2 |
10 |
1 2 |
Дана последовательность из \(N\) целых чисел (они могут быть положительными, отрицательными или равными 0). Необходимо выбрать из этих чисел два числа так, чтобы их произведение было как можно меньшим (не рассматриваются квадраты данных чисел, но можно выбрать произведение двух различных элементов последовательности, равных друг другу).
В первой строке входных данных записано целое число \(N\), \(2 \le N \le 10^5\) — количество данных чисел. Следующие \(N\) строк содержат сами числа, не превосходящие по модулю \(40000\).
Программа должна вывести единственное целое число — наименьшее возможное произведение двух различных элементов этой последовательности.
Ввод | Вывод |
---|---|
3 |
-6 |