Алгоритмы

2 310 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
В прямоугольной таблице NxM (в каждой клетке которой записано некоторое число) в начале игрок находится в левой верхней клетке.
За один ход ему разрешается перемещаться в соседнюю клетку либо вправо, либо вниз (влево и вверх перемещаться запрещено).
При проходе через клетку с игрока берут столько у.е., какое число записано в этой клетке (деньги берут также за первую и последнюю клетки его пути).
 
Требуется найти минимальную сумму у.е., заплатив которую игрок может попасть в правый нижний угол.
 
Входные данные
В первой строке записаны два числа N и M - размеры таблицы (\(1<=N<=20\), \(1<=M<=20\)). Далее записаны N строк по M чисел в каждой - размеры штрафов в у.е. за прохождение через соответствующие клетки (каждое число от 0 до 100).
 
Выходные данные
Выведите минимальную сумму, потратив которую можно попасть в правый нижний угол.
 
 
Примеры
№ Входные данные Выходные данные
1
3 4
1 1 1 1
5 2 2 100
9 4 2 1
8
Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки. 
 
Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.
 
Выходные данные
Входной файл содержит одну упакованную строку. В строке могут встречаться только конструкции вида nA, где n - количество повторений символа (целое число от 2 до 99), а A - заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.
 
Выходные данные
В выходной файл выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
 
Примеры
 
Ввод Вывод
3A4B7D                      AAABBBBDDDDDDD
22D7AC18FGD
DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF
FFFFFFFFGD
95AB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAB
40AB39A
 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 
Сколько раз встречается?
 
Входные данные
Вам дается две строки. Длина каждой из строк не превышает 255 символов.

Выходные данные
Посчитайте и выведите на экран, сколько раз первая строка встречается в качестве подстроки во второй.
 

 

Примеры
№ Входные данные Выходные данные
1
abab
abababcab
2

Пояснение: подстрока abab встречается во второй строке дважды, начиная с 1-го и 3-го символа.

Найдите в тексте 1543.

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

Выходные данные
Если в нем встречается число 1543, выведите слово URA, если же 1543 в файле не встречается, выведите NO.
 
Примеры
№ Входные данные Выходные данные
1 hgdfjgkdghkdjgkgkd1543gjdlgkdjlg URA
2 1=5 4=3 NO
На день рождения пришли N человек. В некоторый момент именинник  решил, что пора устроить какую-нибудь игру. Он выяснил, что i-й человек  согласен вступить в игру, если в ней уже принимают участие не менее A[i] и не более B[i] человек. Единожды вступив в игру, никто из нее 
не выходит.

Требуется выяснить, может ли именинник установить такую 
последовательность вступления в игру, что в итоге все 
присутствующие станут ее участниками. (Сам именинник в игре участия 
не принимает.) 
 
Входные данные. 
Сначала вводится количество гостей N (1<=N<=100). Затем вводится 
N пар чисел A[i] и B[i] (все эти числа из диапазона от 0 до N-1).
 
Выходные данные. 
Если можно установить последовательность вступления гостей в игру, 
чтобы в итоге все стали ее участниками, то нужно вывести номера гостей 
в том порядке, в каком они могут вступать в игру. Если всех вовлечь 
в игру не удастся, выведите одно число - 0.
 
Пример 1
Пример входного файла
5
4 4
0 3
1 4
1 3
2 2
 
Пример выходного файла
2 3 5 4 1
 
Пример 2
Пример входного файла
3
1 1
1 1
1 1
 
Пример выходного файла
0
 
Пример 3
Пример входного файла
1
0 0
 
Пример выходного файла
1
Главный повар решил устроить в лицее День Уважения к Повару. Для этого он приготовил лицеистам N необычайно вкусных котлет и втайне постановил, что первый пожаловавший отведать поварское кушанье школьник должен получить наибольшее количество вкусных котлет, а каждый последующий - строго меньше, чем предыдущий (повару очень не нравилось, когда к приготовленному им обеду опаздывали и тот вынужден был остывать).
 
Конечно, введенное правило оставляет существенный произвол в числе котлет, получаемых очередным явившимся лицеистом, и это число не в последнюю очередь  будет зависеть от предыдущего поведения лицеиста в столовой, а также от волшебных слов, произносимых им. Например, 6 котлет могут быть в  результате распределены по одной из следующих четырех схем: 3+2+1 (три котлеты первому из пришедших школьников, две - второму и одну - третьему), 4+2, 5+1 и 6 (все котлеты съедает счастливчик, пришедший первым).
 
Напишите программу, определяющую, каким количеством различных способов повар может распределить приготовленное лакомство среди школьников.
 
Входные данные
Входной файл содержит одно целое число N - количество приготовленных поваром котлет (0<=N<=200).
 
Выходные данные
Выходной файл должен содержать одно целое число, равное количеству возможных распределений котлет.

 

Примеры
№ Входные данные Выходные данные
1 6 4
 
Дана последовательность чисел. Найти в ней наименьшее число.
 
Входные данные.
Задано сначала число N (количество чисел в последовательности), а затем
N чисел. Все числа - из диапазона Integer. N<=100
 
Выходные данные.
Выведите наименьшее число.
 
 
Нам дана числовая последовательность a1, ..., an . Напишите программу, отвечающую на запросы вида "найти длину наибольшей строго возрастающей подпоследовательности, все элементы которой находятся на отрезке с li-ого по ri-ый элемент".
Подпоследовательностью последовательности a1 , ..., an называется последовательность, которую можно получить путем удаления нескольких элементов ai (относительный порядок оставшихся элементов менять запрещается). Так, например, последовательность (2, 4) является подпоследовательностью последовательности (1, 2, 3, 4, 5) (можно удалить элементы 1, 3  и 5 ),  а последовательность (5, 1) - нет.
 
Входные данные
В первой строке записано целое число n  (1 <= n <= 3000 ) - число элементов в последовательности. Во второй строке записано n  чисел, разделенных пробелами - элементы последовательности. Все элементы не превосходят по модулю 109. В третьей строке записано одно целое число q  (1 <= q <= 105) - количество запросов. В следующих q  строках описаны запросы. Описание i -ого запроса - два числа li и rj (1 <= li <= ri <= n) ,  записанные через пробел.
 
Выходные данные
Выведите q чисел - ответы на запросы. Числа следует выводить по одному на строке в том же порядке, в котором запросы описаны во вводе.
 
Примеры
№ Входные данные Выходные данные
1 6
3 3 -5 7 4 9
6
1 4
1 2
2 3
1 5
3 5
2 5
2
1
1
2
2
2
Слияние двух упорядоченных последовательностей чисел в одну упорядоченную  основная идея сортировки слиянием. Эта сортировка работает быстро, а слияние двух упорядоченных после-
довательностей легко выполняется в том числе и человеком вручную.

В этой задаче по полученной в результате слияния неубывающей последовательности чисел вам предстоит восстановить две исходных неубывающих последовательности одинакового размера.
Некоторые числа в исходных последовательностях известны, а некоторые заменены знаком "?".
Результат слияния известен полностью. Вам необходимо подставить на место знаков вопроса числа так, чтобы исходные последовательности были неубывающими и при слиянии образовывали заданную результирующую последовательность.

Входные данные
В первой входного файла строке содержится число N  количество элементов в каждой из исходных последовательностей. Во второй и третьей строках записано по N чисел и знаков вопроса 
содержимое первой и второй последовательности соответственно. В четвертой строке записано 2хN чисел -  результат слияния.
Выходные данные
Вывод должен содержать 2 строки по N чисел в каждой: какой-нибудь из вариантов восстановления исходных последовательностей, которые при слиянии дадут тот же результат. Если
в исходных данных в последовательности стояло число, то в выходных данных на том же месте должно стоять то же число.

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

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

Инна любит гулять по крышам. Она стоит на крыше здания с номером 1 и хочет попасть на крышу здания с номером n.

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

Помогите Инне посчитать, какое минимальное количество раз она должна прыгнуть с одной крыши на другую, чтобы попасть на здание с номером n.

Формат входных данных
В первой строке задано натуральное число n — число зданий в Иннополисе (n<= 105). В следующих n строках заданы крыши зданий. Каждая из этих строк содержит четыре целых числа xi1, yi1, xi2 и yi2 — координаты противоположных вершин прямоугольника, описывающего крышу здания (xi1 < xi2; yi1 < yi2) Гарантируется, что никакие два прямоугольника не имеют общих точек. Все координаты — неотрицательные целые числа и <= 109

Формат выходных данных
Выведите одно целое число — минимальное количество прыжков, которые Инна должна совер- шить, чтобы добраться с крыши здания 1 до крыши здания n. Если же Инна не может добраться до крыши n-го здания, выведите -1.
Ввод Вывод
4
0 0 3 2
1 6 4 8
1 3 4 5
7 7 10 9
3
3
0 0 3 2
1 3 4 5
7 7 10 9
-1
На занятиях по дискретной математике Сереже рассказали про двоичные коды Грея — это такое упорядочение всех 2n различных двоичных векторов длины n, что любые два соседних, а также первый и последний, вектора различаются ровно в одном разряде.

Для закрепления материала преподаватель задал им следующее задание: в коде Грея в каждом двоичном векторе ровно один бит заменен на знак вопроса «?». Требуется заменить обратно все знаки вопроса «?» на «0» или «1», чтобы получился код Грея.

Преподаватель обещал бонус на экзамене тому из студентов, кто первым справится с заданием. Помогите Сереже решить задачу или скажите, что это невозможно, и преподаватель задал нераз- решимое задание.

Формат входных данных
В первой строке содержится целое число n — длина двоичных векторов. Следующие 2n строк содержат двоичные вектора длины n, в каждом из которых ровно один символ заменен на знак вопроса «?».
Формат выходных данных
В первой строке выведите «YES», если решение существует, и «NO» — в противном случае. В случае положительного ответа выведите исходный код Грея, если возможных вариантов ответа несколько, выведите любой.
 
Ввод Вывод
2
0?
0?
1?
1?
YES
00
01
11
10
3
?00
0?1
01?
0?0
?10
1?1
10?
1?1
NO

Система оценки
 
Номер подзадачи Баллы Ограничения Комментарии
1 37 1<=n<=4 Баллы начисляются, если все тесты пройдены.
2 63 1<=n<=12 Баллы начисляются, если все тесты этой и предыду- щих подзадач пройдены.

 
Университет Иннополис готовится к проведению Летней школы олимпиадного программирования. Сейчас им нужно выбрать даты проведения.

Организаторы заметили, что школа проходит лучше, если настроение детей с каждым днем школы улучшается, также они заметили, что настро- ение школьников сильно зависит от погоды: в ясную погоду школьники веселее, чем в пасмурную. Организаторы запросили прогноз погоды на n дней, в которые можно провести школу. Для каждого дня они посчитали число ai — солнечность i-го дня. Теперь они хотят выбрать для про- ведения школы некоторый непрерывный отрезок дней, такой, что каждый следующий день школы солнечность строго больше, чем в предыдущий.

Помогите организаторам школы найти максимальное число дней, которые может идти школа.

Формат входных данных
В первой строке входного файла задано число n — число дней, в которые можно провести школу. Во второй строке заданы n ( 1<=n<=105) чисел ai — солнечности дней (0 <= ai <= 109 ).
Формат выходных данных
Выведите одно число: максимальное число дней, которое может идти школа так, чтобы каждый следующий день школы был солнечнее, чем предыдущий.
 
Вывод Ввод
6
2 0 3 7 4 5
3
3
1 2 3
3
4
1 1 1 1
1
Перестановкой размера n называется упорядоченный набор из n чисел, в котором каждое число от 1 до n встречается ровно один раз. Например, (4, 2, 3, 5, 1) - это перестановка размера 5.
Нам дано число n и последовательность a, в которой k натуральных чисел.
Вычислите, сколько существует перестановок размера n, которые не начинаются на данную последовательность.

Формат входных данных
В первой строке содержатся два натуральных числа n и k (1 <= n <= 9,  1 <= k <= 100) .
Во второй строке содержатся k натуральных чисел,  составляющие последовательность a. Каждое из этих чисел не превышает 100.
Формат выходных данных
Выведите количество перестановок размера n- которые не начинаются на данную последовательность a.
Ввод Вывод
3 2
2 1
5
5 2
4 4
120
5 6
2 3 9 5 6 6
120
Маленький Вася очень любит числа, а особенно сильно он любит интересные числа. Вася считает число x интересным,  если сумма квадратов его цифр делится на число 7. Например, число 123 -
интересное, потому что 12 + 22 + 32 = 14 делится на 7, а число 16 - нет, потому что 12 + 62 = 37 не делится на 7. Однажды Вася увидел на доске число x, он сразу же захотел узнать величину минимального интересного числа, которое строго больше чем x.  Так как Вася еще слишком юн, он обратился к вам за помощью в решение этой задачи.
 
Формат входных данных
Во входном файле содержится единственное целое число x - число, написанное на доске 0<= x <= 105
 
Формат выходных данных
В единственную строку выходного файла выведите минимальное интересное число, которое строго больше чем x.
Ввод Вывод
1 7
0 7
35 70


 
Оля решила стать предпринимателем, и недавно открыла свой магазин "Н-аудио". Магазин работает уже в течение целых n дней, и в конце каждого дня Оля приходит, и записывает на листочек количество денег в кассе магазина. При этом, в конце дня деньги из кассы не изымаются,  то есть, после первого дня в кассе хранится выручка за первый день, после второго дня выручка за первый и второй дни и так далее. Оле стало интересно, в какой из n дней выручка магазина была максимальна. Если таких дней несколько, то Олю интересует первый такой день.
 
Формат входных данных  
в  первой строке входного файла находится целое число n - количество дне, в течение которых
работал магазин 1 <= n <= 105 . В i-ой из следующих n строчек содержится целое число ai -
описание баланса рублей в кассе магазина после i-ого дня 0 <= ai <=109
гарантируется, что деньги из кассы никогда не забирали, то есть ai > ai?1 -  для любого i от 2 до n.
 
Формат выходных данных
В единственной строке выходного файла выведите два целых числа - номер дня, в котором
выручка магазина была максимальна, и величину этой выручки. Если таких дней несколько, то
выведите самый ранний из них. Дни в магазине нумеруются с единицы?
 
Ввод Вывод
3
4
5
17
3 12
5
1
1
3
5
5
3 2
На отдыхе в Теплой Стране Вера познакомилась с симпатичным волейболистом- трактористом Петром. Турист Петр, кстати, собирается после отличного отдыха в Теплой Стране отправиться в путешествие по городам Европы. Как известно, Европа облада- ет развитой транспортной системой: в Европе есть V интересующих Петра городов и E маршрутов ночных поездов. Каждый маршрут соединяет два различных города, время в пути составляет одну ночь. Поезда по маршруту ходят в обоих направлениях.

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

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

Формат входного файла
В первой строке входных данных заданы два целых числа V и E (1 <= V, E <= 3 · 105 ) — количество городов и маршрутов поездов, соответственно. В следующей строке заданы V целых чисел pi (1 <= pi <= 108 ), где pi обозначает ожидаемую радость от посещения го- рода с номером i. В следующих E строках заданы описания маршрутов поездов. Каждое описание состоит из пары различных чисел ai и bi (1 <= ai, bi <= V ) — номеров городов, меж- ду которыми курсирует этот маршрут поезда. Гарантируется, что между каждой парой городов существует не более одного маршрута поезда.

Формат выходного файла
В первой строке выходных данных выведите число K (1 <= K <= 4) — количество горо- дов в оптимальном маршруте туриста Петра. В следующей строке выведите номера этих городов в порядке посещения. Города нумеруются начиная с единицы. Если оптимальных маршрутов несколько, выведите любой из них.
Ввод Вывод
5 4
4 2 3 1 5
1 2
2 3
3 4
4 5
4
2 3 4 5
4 3
1 2 3 4
1 2
1 3
1 4
3
4 1 3
✓ 0✗ 151 200средняяВойти и решать
Вера очень много работала в этом году, подавая своим коллегам пример настоящего труженика. На восьмое марта за прекрасное исполнение служебных обязанностей Вера получила подарок — долгожданный отпуск в Теплой Стране! Тяжелые трудовые будни закончились, и Вера уже нежится на пляже на берегу Теплого Моря.

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

Каждый из N капитанов команд мечтает заполучить Веру в состав своей команды, поэтому они хотят максимально проявить себя. Так как поиграть хотят все, они решили действовать следующим образом: все N команд выстроились в очередь. Первый матч иг- рается между двумя командами, которые стоят в очереди раньше остальных. Победитель игры остается на площадке, а проигравший отправляется в конец очереди. В каждом из следующих матчей победитель предыдущего играет с первой командой из очереди, а про- игравший в очередной встрече опять становится в конец очереди. Каждая команда имеет некоторую силу, причем для простоты будем предполагать, что силы всех команд различ- ны, а победителем в матче является команда, сила которой больше. Матчей может быть как угодно много.

Вера решила для себя, что она будет действовать по самому справедливому принципу «считалочки»: она будет играть с одной из двух команд, играющих матч с соответствую- щем считалке номером K. Но затем Вера поняла, что уже выбрала себе команду, в которой хотела бы играть, причем ориентируясь не только на ее силу. Ей известны Q считалок, соответствующих различным значениям K. Для каждого из этих чисел Ki необходимо узнать, а кто же именно будет сражаться за столь ценный приз, то есть какие две коман- ды будут играть в матче с номером Ki.

Формат входного файла
Первая строка входных данных содержит единственное целое число N — количество команд (2 <= N <= 100 000). Вторая строка содержит N различных чисел от 1 до N — силы команд: первое число — сила команды, стоящей в начале очереди, второе — сила следующей по очереди команды, ..., последнее — сила команды, стоящей в конце очереди. Третья строка содержит единственное целое число Q (1 <= Q <= 100 000) — коли- чество известных Вере считалок. Каждая из следующих Q строк содержит число Ki (1 <= Ki <= 1018) — номер очередного интересующего Веру матча. Обратите внимание, Ki может быть больше N. Формат выходного файла Выведите Q строк: для каждого интересующего Веру числа Ki два числа в любом порядке — силы команд, сыграющих на Ki-м шаге. Первая строка должна содержать ответ на первый запрос, вторая — на второй и так далее.

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


Комментарии
Разберем первый тест из условия:
  Кто играет Состояние очереди Победитель Проигравший
Матч № 1
Матч № 2
Матч № 3
1 3
3 2
3 4
2 4
4 1
1 2
3
3
4
1
2
3

Таким образом, в единственном интересующем Веру третьем матче сыграют команды с силами 4 и 3.
✓ 0✗ 431 100средняяВойти и решать
Ваня хочет поехать в школу,куда от его квартиры идёт только шестой трамвай. Проблема в том,что Ваня очень стеснительный и боится садиться 
в трамвай,если в нём больше d человек.Известно,что трамваи идут раз в k минут.Ваша задача состоит в том,чтобы посчитать количество минут,которые простоит Ваня на остановке, 
учитываю Ванину стеснительность:если есть такой пустой трамвай,который идёт Васе,он будет ждать его сколько угодно.Если же таких трамваев несколько,то он,разумеется,сядет на 
тот,что придёт раньше.Если данные введены некорректно,вывести "Absent"; 
Так же известно,что Ваня приходит на остановку в тот момент времени,когда к ней подъезжает первый трамвай
Входные данные: 
Сначала вводятся два числа d и k такие,что 0<=d<=100 и 0<=k<=100. 
Затем вводится t строк(0<=t<=100,само число t нам неизвестно),заканчивающихся одним числом -1 по 2 числа в каждой- количество людей в трамвае и его номер 
Вывод: 
В выводе должно быть одно число-количество минут,которые Ваня простоит на остановке в ожидании трамвая,или же слово "Absent"

(c) Васильев Алексей
Весь год Гошан был прилежным мальчиком и делал добрые дела: переводил бабушку через дорогу, еженедельно оставался в школе на контесты, давал одноклассникам списать химию и т.д.  За это Дедушка Мороз позволил Гошану выбрать абсолютно любой подарок на новый год. Гошан воспользовался возможностью и попросил долгожданную для него книгу “History of Hip-Hop”, ведь он был истинным поклонником хип-хопа! За кем же еще может стоять андерграунд?

Но Дед Мороз решил устроить испытание для мальчика. Он поставил на коробку с книгой кодовый замок.
Кодовый замок устроен следующим образом. На электронном экране замка появляются три числа – a , b и c. Чтобы открыть замок необходимо перевести числа a и b в двоичную систему счисления и поразрядно выполнить для них операцию c.
Описание операций:
1 Конъюнкция
2 Дизъюнкция
3 Исключающее или
4 Импликация
5 Эквивалентность
Результат операции необходимо представить в виде числа в двоичной системе счисления, а затем перевести в десятичное число .
Это число и будет являться ключом числа.
Помогите Гошану открыть замок, ведь с логикой у него плохи дела, а ему очень хочется поскорее почитать “History of Hip-Hop”.
P.S. Если в одном из чисел a и b разрядов будет больше, чем в другом, то в наименьшее необходимо добавить ведущие нули.
Входные данные
Входной файл содержит в себе три числа – a,b(1<=a,b<=1000) и с(1<=c<=5).
Выходные данные
Необходимо вывести одно число – ответ на задачу.
Пример
Ввод:
12 10 5
Вывод:
9
Пояснение
12=1100
10=1010
 
1100
1010
1001
 
1001=9

(с) Курбатов Егор 9и
2022 год. Человечество совершило прорыв в области электроники. Был создан всеми ожидаемый нейропривод, позволяющий человеку совершить полное погружение в видеоигру. Полная передача эмоций, самые настоящие чувства и ощущения и т.д. 
 
И как вы думаете, что попросил Павлик у Дедушки Мороза на новый год? Конечно же нейропривод а так же только что вышедшую под него “Borderlands 5 online”.
Первого  января, после получения своего подарка, Павлик начал играть. Паша был лютым геймером, поэтому прокачивался с космической скоростью. Это позволило ему в первый же день игры развести 5 новичков на деньги и шмот. Конечно Дедушке Морозу это не понравилось, и он решил проучить Павлика. Он заблокировал Павлику доступ вернуться в реальность и послал ему в игре злого босса по имени Даня Зевс, элитного игрока команды NA’VI по CS GO в прошлом. Чтобы выбраться в реальность Павлику необходимо победить босса.
У Дани Зевса n здоровья. У Павлика же есть Дробовик с a1  патронами и наносящий а2 урона, пистолет с b1 патронами и наносящий b2 урона и снайперская винтовка с с1 патронами и наносящая с2 урона.
Какое минимальное количество выстрелов необходимо сделать Павлику, чтобы убить босса, если это вообще возможно.
 
Входные данные
В первой строке записано число n – количество здоровья у Данечки Зевса.
Во второй строке записаны числа а1 и а2 – количество патрон и урон дробовика.
В третей строке записаны числа b1 и b2 – количество патрон и урон пистолета.
В четвертой строке записаны числа с1 и с2 – количество патрон и урон снайперской винтовки.

0<=n,a1,a2,b1,b2,c1,c2<=2*10^9

Выходные данные
Вам необходимо вывести минимальное количество выстрелов, которое необходимо сделать Павлику или -1, если Павлик не сможет убить босса
Пример
Ввод
20
7 1
3 5
10 2
Вывод
6

(с)  Курбатов Егор 9и
Поделиться
Класснуть