Автор: | Иван Кобец | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Программист Влад решил уехать в теплую страну на свой заслуженный отдых. Для того, чтобы уборщицы не украли его дорогостоящий ноутбук, он решил спрятать его в сейф. В качестве кода он выбрать некоторое число от 1 до n.
В один из дней отдыха во время того, как Влад был на море, на работе случилась беда, и Владу срочно пришлось вернуться в гостиницу. Но главная проблема ждала его в номере: ему был нужен ноутбук, но он не помнил пароль, который он выбрал. Он лишь помнил то, что выбранное им число кратно a, b и c. По этим данным, определите, какое минимальное количество вариантов пароля от сейфа придется перебрать Владу, чтобы он точно нашел верный.
На вход подаются целые числа n, a, b и c.
Выведите одно число - минимальное количество вариантов, которые нужно перебрать, чтобы гарантированно найти верный.
1 ≤ n ≤ 109
1 ≤ a, b, c ≤ 100
Баллы за каждый тест начисляются независимо.
Решения, верно работающие при n ≤ 105 получат не более 60 баллов.
В примере Владу, чтобы гарантированно найти пароль, необходимо перебрать следующие варианты: 28, 56 и 84.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Иван Кобец | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Вот он, момент истины! Мальчик Вова дошел в своей любимой игре до самого последнего уровня. На нем ему осталось последовательно победить n боссов. Сначала он должен победить босса под номером 1, затем под номером 2, затем 3, и так до номера n. Каждый босс имеет силу ai. Для того, чтобы гарантированно победить босса, сила персонажа Вовы на данном шаге должна быть строго больше силы босса. Если Вова побеждает босса, то его сила увеличивается на силу побежденного босса.
Силы персонажа Вовы хватало на то, чтобы победить всех боссов, поэтому перед последним уровнем он решил передохнуть. Но проблема пришла откуда не ждали! На серверах игры произошел сбой, и у всех персонажей в игре обнулились силы. Вова очень расстроился этому, ведь он долго и упорно набирал силу, проходя все уровни. Сейчас ему придется по новой проходить уровни, чтобы набрать нужную силу. Но Вова не хочет проходить все уровни, поэтому он просит Вас написать программу, которая определит, какое минимальное количество силы Вове нужно набрать, чтобы гарантированно победить всех боссов.
В первой строке записано целое число n - количество боссов.
Во второй строке записано n целых чисел ai - силы боссов.
Выведите одно целое число - минимальное необходимое количество силы, чтобы победить всех боссов.
1 ≤ n ≤ 105
1 ≤ ai ≤ 109
Баллы за подзадачи начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке | |
---|---|---|---|---|---|
n | ai | ||||
1 | 50 | 1 ≤ n ≤ 1000 | 1 ≤ ai ≤ 1000 | полная | |
2 | 50 | 1 ≤ n ≤ 105 | 1 ≤ ai ≤ 109 | 1 | полная |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Иван Кобец | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Учитель по информатике Виктор считается лучшим в крае из-за своих подходов к обучению. Один из его подходов преподавания - работа детей в парах после пройденной темы.
В классе Виктора учится n детей. Сегодня он на уроке с ними прошел новую тему: графы, теперь настало время практики. Он решил сформировать пары учеников, которые будут работать вместе. Формирует пары он по следующему принципу: в каждой паре учеников знания должны различаться не более, чем на k единиц. Делает он это для того, чтобы ученики работали максимально продуктивно. Эту величину k он вычислил экспериментальным путем. Если для какого-то ученика не получается сформировать пару, то наиболее продуктивно он будет работать один. Для каждого ученика он определил уровень знаний: ученик с номером i имеет уровень знаний, равный ai. Он решил выбрать q учеников и узнать, какое количество учеников подойдут к ним в пару. Он просит Вас написать программу, которая для каждого выбранного ученика будет определять количество учеников, с которым он сможет организовать пару.
В первой строке два целых числа n и k - количество учеников в классе и максимальная разница в уровне знаний соответственно.
Во второй строке через пробел записано n целых чисел ai - уровни знаний учеников.
В третьей строке записано целое число q - количество выбранных учеников.
В четвертой строке записано q целых чисел bj - номера выбранных учеников.
Программа должна вывести q целых чисел - количество учеников, с которыми Виктор может организовать пару для ученика bj.
1 ≤ n ≤ 105
1 ≤ k, ai ≤ 109
1 ≤ q, bi ≤ n
Баллы за подзадачи начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
---|---|---|---|---|
n | ||||
1 | 35 | 1 ≤ n ≤ 100 | полная | |
2 | 65 | 1 ≤ n ≤ 105 | 1 | полная |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Иван Кобец | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Программист Влад увлекается не только программированием, но и робототехникой. На днях ему пришла идея создать робота, который будет ездить по городу со скоростью 1 метр в секунду и замерять расстояние над уровнем моря через каждую секунду. При старте робот делает первый замер расстояния над уровнем моря. Робот едет сначала некоторое расстояние в одну сторону, потом разворачивается на 180 градусов и едет обратно до точки старта. Робот выполняет разворот 1 секунду. После разворота робот продолжает замерять данные.
Когда робот вернулся к Владу, он заметил, что данные перемешались, и теперь у него данные о движении в обе стороны находятся в одном массиве длиной n. Но это не единственная проблема: датчик оказался бракованным и некоторые показания в этом массиве являются ложными. Но так как робот ездил в обе стороны, то некоторые данные в массиве данных равные. Поэтому он решил выяснить, какое максимальное возможное время в секундах робот мог ездить. Он просит Вас написать программу, которая поможет ему это выяснить.
В первой строке записано целое число n - длина массива данных.
Во второй строке записано n целых чисел ai - показания датчика.
Выведите одно целое число - максимальное время в секундах, которое робот мог проехать.
4 ≤ n ≤ 2000
1 ≤ ai ≤ 100
Баллы за подзадачи начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
---|---|---|---|---|
n | ||||
1 | 20 | 4 ≤ n ≤ 10 | полная | |
2 | 30 | 4 ≤ n ≤ 100 | 1 | полная |
3 | 50 | 4 ≤ n ≤ 2000 | 1, 2 | полная |
В примере, робот при старте сделал замер 2 метра. Затем робот, проехав первую секунду, сделал замер 4. Далее робот делает разворот 1 секунду, после делает замер 4. Спустя следующую секунду робот возвращается в стартовую точку, делая контрольный замер в 2 метра. Итого робот проехал 3 секунды.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Иван Кобец | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Дано дерево, состоящее из n вершин. Корнем дерева считается вершина под номером 1. Необходимо удалить одно ребро из дерева (образовав тем самым еще одно дерево с новым корнем) так, чтобы сумма расстояний от корня до всех вершин была минимально возможной. Напишите программу, которая определит эту сумму.
В первой строке записано целое число n - количество вершин в дереве.
В следующих n − 1 строках записано по два различных целых числа ai и bi - вершины дерева, которые соединены между собой.
Выведите одно целое число - минимально возможную сумму расстояний от корня до всех вершин.
2 ≤ n ≤ 105
1 ≤ ai, bi ≤ n
Баллы за подзадачи начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке |
---|---|---|---|---|
n | ||||
1 | 15 | 2 ≤ n ≤ 100 | полная | |
2 | 25 | 2 ≤ n ≤ 1000 | 1 | полная |
3 | 60 | 2 ≤ n ≤ 105 | 1, 2 | полная |
Минимальную сумму расстояний от корня до всех вершин можно получить, удалив ребро между вершинами 4 и 9. Тогда сумма расстояний от корня до всех вершин первого дерева будет 14, а второго (с корнем в вершине 9) 1.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|