Идеи

4 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Алиса и Боб управляют роботом. У каждого из них есть по одной кнопке, которая управляет роботом. Алиса начала удерживать кнопку через A секунд после запуска робота и отпустила кнопку  через B секунд после запуска. Боб начал удерживать кнопку через секунд после запуска и отпустил кнопку через D секунд после запуска. Сколько секунд Алиса и Боб удерживали свои кнопки одновременно?

Входные данные
На вход 4 целых числа: A, B, C и (\(1<=A<B<=100\)\(1<=C<D<=100\)).

Выходные данные
Выведите продолжительность времени (в секундах), в течение которого Алиса и Боб удерживали свои кнопки одновременно.
 

 

Примеры
Входные данные Выходные данные Пояснения
1 0 75 25 100 50 Алиса начала удерживать кнопку через 0 секунд после запуска робота и отпустила ее через 75 секунд после запуска.
Боб начал удерживать кнопку через 25 секунд после запуска и отпустил ее через 100 секунд после запуска.
Следовательно, время, когда они оба удерживали свои кнопки, составляет 50 секунд от 25 секунд после запуска до 75 секунд после запуска.
2 0 33 66 99 0 Алиса и Боб не удерживали кнопки одновременно, поэтому ответ - ноль секунд.
3 10 90 20 80 60  

 

В ряд выписаны натуральные числа от 1 до n и задано натуральное число k.
Выполняется один или несколько шагов по удалению чисел в этом ряду. На
очередном шаге оставшиеся числа просматриваются в возрастающем порядке, и каждое k-е число удаляется. Если после очередного шага осталось меньше k чисел, то процесс удаления чисел завершается.
Необходимо определить, на каком шаге будет удалено число n, или выяснить, что оно не будет удалено до завершения процесса.
Например, пусть n = 13, k = 2.
- На первом шаге будут удалены числа 2, 4, 6, 8, 10 и 12, останутся числа 1, 3, 5, 7, 9, 11 и 13.
- На втором шаге будут удалены числа 3, 7 и 11, останутся числа 1, 5, 9 и 13.
- На третьем шаге будут удалены числа 5 и 13, останутся числа 1 и 9.
- На четвертом шаге будет удалено число 9, останется число 1. Поскольку осталось одно число, процесс завершается.
Таким образом, число 13 будет удалено на третьем шаге.
Требуется написать программу, которая по заданным числам n и k определяет, на каком шаге будет удалено число n.
Формат входных данных
Первая строка входных данных содержит целое число n (3 ≤ n ≤ 1018).
Вторая строка входных данных содержит целое число k (2 ≤ k ≤ 100, k < n).
Формат выходных данных
Требуется вывести одно целое число — номер шага, на котором будет удалено число n, или число 0, если число n не будет удалено.
 
Ввод Вывод
13
2
3


 
Однажды, вернувшись в свою башню, Мерлин обнаружил, что Моргана наложила проклятие на
все его сосуды с эликсиром мудрости.
Мерлин знает, как снять проклятие, но соответствующее заклинание требует, чтобы во всех
сосудах, к которым оно применяется, было равное количество эликсира.
Чтобы добиться этого, Мерлин решил действовать следующим образом. Он выбирает несколько
сосудов и переливает весь эликсир из выбранных сосудов в оставшиеся. Он может распределить
переливаемый эликсир между оставшимися сосудами произвольным образом. После того, как весь
эликсир из выбранных сосудов перелит, Мерлин разбивает опустошенные сосуды (с них проклятие
уже не снять), выбрасывает осколки и применяет заклинание снятия проклятия к оставшимся
сосудам.
Помогите волшебнику узнать, какое наименьшее количество сосудов ему придется разбить,
чтобы снять проклятие Морганы.
Формат входных данных
В первой строке входного файла находится число n (2 ≤ n ≤ 105) — количество сосудов. Во
второй строке содержатся n чисел a1, a2, . . . , an (1 ≤ ai ≤ 109) — количество литров эликсира
мудрости в каждом сосуде.
Формат выходных данных
Выведите в выходной файл минимальное количество сосудов, которые Мерлину придется
разбить.

Пример
Ввод
3
2 3 2
Вывод
1

Ввод:
4
4 4 4 4
Вывод
0

Ввод
5
1 2 3 4 5
Вывод
2

 
В первом примере можно, например, перелить 0.5 литра эликсира из первого сосуда во второй
и 1.5 литра в третий, после чего разбить первый сосуд.
Во втором сосуды исходно содержат равное количество эликсира, можно ничего не переливать.
В третьем примере можно, например, перелить 1 литр эликсира из первого сосуда во второй, по
2 литра из пятого во второй и третий, 1 литр из пятого в четвертый, после чего разбить первый и
пятый сосуды.
Кроме школы и математического кружка, Вася ходит на шахматный кружок. Но играть в шахматы на обычной доске 8 × 8 ему кажется не очень интересным. Недавно он придумал свою версию шахмат, в которой игра происходит на доске, имеющей другую форму. Васина доска состоит из n столбцов, i-й из которых содержит ai клеток. Нижние клетки всех столбцов образуют один  горизонтальный ряд, причем длины столбцов упорядочены слева направо по невозрастанию. На рисунке ниже приведен пример доски, в которой три столбца, содержащих 5, 2 и 1 клетку,  соответственно.

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

Формат входных данных
В первой строке входного файла задано целое число n — количество столбцов доски
(1 ≤ n ≤ 1000). Следущая строка содержит n чисел a1, a2, . . . , an — количество клеток в столбцах
(1 ≤ ai ≤ 1000, a1 ≥ a2 ≥ . . . ≥ an).

Формат выходных данных
В первой строке выведите число k — минимальное число ладей, которое можно расставить на доске так, чтобы каждую клетку доски била хотя бы одна ладья. Следующие k строк должны содержать описание позиций ладей, по одной на каждой строке. Позиция ладьи задается двумя числами: номером столбца, в котором стоит ладья, и номером клетки в столбце. Столбцы нумеруются, начиная с 1, слева направо, клетки в столбцах нумеруются снизу вверх, также начиная с 1.
Если подходящих расстановок несколько, можно вывести любую.

Примеры
Ввод
3
5 2 1

Вывод
2
1 5
2 1

Поделиться
Класснуть