Муниципальный этап ВсОШ по информатике, 9-11 классы, Московская область, 2017
Statement is not available in English language
1. Поход в магазин
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Пети завтра день рождения. Мама сказала Пете сходить в магазин за шариками, чтобы украсить дом к приходу гостей, и дала S рублей, на которые попросила купить как можно больше шариков, причем не меньше N.

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

Петя знает стоимости шариков и ирисок и хочет понять, с каким количеством шариков и ирисок он вернется домой. Петя не хочет расстраивать маму, поэтому он обязательно купит не менее N шариков. При этом, если у Пети есть несколько способов сделать покупки, удовлетворяющих этому условию, то он все время выберет вариант, в котором больше ирисок, а среди вариантов с одинаковым количеством ирисок — вариант с наибольшим количеством шариков.

Напишите программу, которая находит количество шариков и количество ирисок, которое купит Петя.

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

В первой строке входного файла записано 5 чисел: S (1 ≤ S ≤ 109) — количество рублей, которое дала Пете мама. Далее идут числа N и K (1 ≤ N, K ≤ 109) — минимальное количество шариков и максимальное количество ирисок, которые Петя может принести домой. Далее идут числа A и B (1 ≤ A, B ≤ 109) — стоимость одного шарика и стоимость одной ириски соответственно.

Гарантируется, что все числа во входных данных целые, и Петя сможет купить хотя бы N шариков.

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

Выведите через пробел 2 числа: количество шариков и количество ирисок, которое купит Петя.

Примеры
Входные данные
10 4 2 1 2
Выходные данные
6 2
Входные данные
100 25 10 4 20
Выходные данные
25 0
Входные данные
20 5 5 3 3
Выходные данные
5 1

Statement is not available in English language
Statement is not available in English language
3. Отопление
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дядя Федор и почтальон Печкин готовятся к холодной зиме в деревне Простоквашино. Для этого необходимо подвести отопление от котельной к домам дяди Федора и почтальона Печкина. Для удобства представим территорию Простоквашино как клетчатую сетку, причем котельная будет находиться в клетке (0, 0). Дом дяди Федора расположен в клетке (a, b), а почтальона Печкина — в (c, d).

территория Простоквашино как клетчатая сетка

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

соседи для клетки (x, y)

Требуется написать программу, вычисляющую минимальное число дней, которое понадобится рабочим, чтобы отопить оба дома.

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

В первой строке заданы два целых числа a и b через пробел. Во второй строке заданы два целых числа c и d через пробел. Гарантируется, что все числа находятся в промежутке от  - 104 до 104. Котельная, дом дяди Федора и дом почтальона Печкина находятся в трех разных клетках.

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

Выведите единственное число — минимальное количество дней, которое понадобится, чтобы подвести отопление к домам дяди Федора и почтальона Печкина.

Система оценки

Гарантируется, что решения, корректно работающие для тестов, где b = 0 и d = 0, будут получать не менее 30 баллов.

Примеры
Входные данные
2 0
0 2
Выходные данные
3
Входные данные
-2 -1
-3 -2
Выходные данные
3
Примечание
В первом тесте оптимально будет в первый день довести отопление от котельной в клетке (0,0) до клетки (1,1), затем в следующие два дня отопить оба дома, для которых (1,1) является соседней.
Во втором тесте возможный порядок подключения клеток к отоплению такой: (-1, -1), (-2, -1), (-3, -2).

Statement is not available in English language
4. Квадратный торт
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Петя решил разрезать торт ровно на N одинаковых частей с помощью прямых линий, параллельных сторонам квадратного торта, так чтобы размеры каждого кусочка были целыми числами. Однако Петя никак не может понять, какой минимальный радиус тарелки должен быть, чтобы получившиеся прямоугольные кусочки не выходили за края тарелки. У Пети множество тарелок, и у каждой из них радиус — целое число. Напишите программу, которая поможет Пете определить, какого минимального радиуса должна быть тарелка.

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

В единственной строке записано одно целое число N (1 ≤ N ≤ 2·109).

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

Выведите одно целое число — минимальный радиус тарелки. Обратите внимание, что Петя всегда может разрезать торт на N кусочков одинакового размера.

Примеры
Входные данные
4
Выходные данные
2
Входные данные
6
Выходные данные
2
Примечание

Для хранения целых чисел до 4·1018 можно использовать 64-битный тип данных long long в языке C++ или тип int64 в языке Pascal.