Информатика

15 732 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Миша установил на свой телефон новую игру «Мемтест 2к17». В ней предусмотрены ежедневные награды за посещение. Награды бывают n уровней. Тип награды зависит от награды за предыдущий день, а именно:

если игрок в предыдущий день не посещал игру, то за сегодняшнее посещение он получит награду уровня 1;
если игрок в предыдущий день зашёл в игру и получил награду уровня k ( k ≠ n ), то за сегодняшнее посещение он получит награду уровня k + 1 ;
если игрок в предыдущий день зашёл в игру и получил награду уровня n , то за сегодняшнее посещение он получит награду уровня 1.
На Форуме для Крутых Программистов Миша выяснил, что награды каждого из уровней составляют соответственно a 1 , a 2 , ..., a n золотых монет.
Через m дней состоится турнир по «Мемтест 2к17», к которому Миша хочет собрать как можно больше золотых монет. Помогите ему спланировать посещения игры на протяжении m дней, оставшихся до турнира. Найдите наибольшее количество золотых монет, которое он сможет получить за счёт ежедневных наград в этот период. Можно считать, что игра установлена в первый из этих m дней, то есть до этого Миша в неё ни разу не заходил.

Входные данные
Первая строка входных данных содержит натуральные числа n и m ( 1 ≤ n , m ≤ 1000 ) — количества уровней наград и дней до турнира.

Вторая строка входных данных содержит n целых чисел a 1 , a 2 , ..., a n ( 1 ≤ a i ≤ 1000 ), где a i — величина награды i -го уровня в золотых монетах.

Выходные данные
Выведите одно натуральное число — наибольшее количество золотых монет, которое Миша сможет получить до турнира.

Примечание
В первом тесте из примера Мише выгодно заходить в игру каждый день. Тогда он получит 1 + 2 + 4 = 7 золотых монет.

Во втором тесте из примера Мише выгодно заходить в игру в первый и третий день, получив в каждый из них по 4 монеты, тогда в сумме он получит 8 монет.
 
Примеры
Входные данные Выходные данные
1 3 3
1 2 4
7
2 3 3
4 2 1
8
У доктора Риты сегодня трудный рабочий день, и она ушла на обеденный перерыв. За это время к ее кабинету выстроилась очередь из n человек! Очередь большая, поэтому в помещении быстро стало очень душно.

Для удобства пронумеруем пациентов натуральными числами от 1 до n в том порядке, в котором они изначально стояли в очереди: первым стоял человек с номером 1 , вторым — с номером 2 , и так далее. Последним был человек с номером n .

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

Внимательный пациент Арсений записал номера всех, кто выходил подышать, в том порядке, в котором это происходило. Теперь Арсению интересно, в каком порядке стоят люди в очереди. Помогите ему выяснить это!

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

Входные данные
В первой строке входных содержатся два числа n и t — число людей в очереди и количество событий, что человек вышел на улицу подышать ( 1 ≤ n , t ≤ 100 000 ).

Во второй строке входных данных содержатся t чисел a i ( 1 ≤ ai ≤ n ) — номера людей, выходивших подышать и затем встававших в конец очереди в том порядке, в котором они это делали.

Выходные данные
Выведите n чисел — номера людей в порядке очереди после всех перестановок.

Примечание
В тесте из примера происходили следующие изменения с очередью:

Человек с номером 2 перешёл в конец. Порядок людей: 1 , 3 , 4 , 2
Человек с номером 3 перешёл в конец. Порядок людей: 1 , 4 , 2 , 3
Человек с номером 1 перешёл в конец. Порядок людей: 4 , 2 , 3 , 1
Человек с номером 2 перешёл в конец. Порядок людей: 4 , 3 , 1 , 2
Человек с номером 1 перешёл в конец. Порядок людей: 4 , 3 , 2 , 1
Порядок людей в очереди в конце: 4 , 3 , 2 , 1 .
 
Примеры
Входные данные Выходные данные
1 4 5
2 3 1 2 1
4 3 2 1
Беда! К городу N приближается метеорит. Людей уже успели эвакуировать, но домам урона не избежать. Ученые уже выяснили, куда упадет метеорит. Вас, как сотрудника страховой компании, попросили выяснить количество домов, которые пострадают при падении метеорита.

Введём на плоскости прямоугольную систему координат. Город представляет собой прямоугольник n × m . Его левый нижний угол расположен в точке с координатами (0, 0) , а правый верхний угол в точке с координатами ( n - 1, m - 1) . В каждой точке с целыми координатами внутри или на границе этого прямоугольника находится дом. Дома в городе N маленькие, поэтому их можно считать точками.

Известно, что метеорит упал в точку ( x , y ) , а радиус его поражения равен r . Таким образом, все дома города на расстоянии не более r от точки падения метеорита получат повреждения. Найдите количество домов, которые получат повреждения.

Входные данные
Первая строка содержит два целых числа n , m ( 1 ≤ n , m ≤ 500 ) — размеры города N.

Вторая строка содержит три целых числа x , y , r ( - 500 ≤ x , y ≤ 500 ; 0 ≤ r ≤ 500 ) — координаты точки падения метеорита и радиус поражения, соответственно.

Выходные данные
Выведите одно число — количество повреждённых домов.

Примечание
Иллюстрация к тесту из примера: чёрными точками обозначены повреждённые дома, белыми — уцелевшие.
Примеры
Входные данные Выходные данные
1 2 3
1 2 1
3
Марина очень любит палиндромы. Палиндром — это строка, которая одинаково читается слева направо и справа налево, например « noon », « rotator » или « radar ».

Марина написала на доске строку s , состоящую из n строчных латинских букв s1 s2 ... sn . Подстрокой строки s называется строка s ls l + 1 ... sr для некоторых 1 ≤ l ≤ r ≤ n . Марина ищет в строке s как можно более длинную подстроку, которая является палиндромом. Например, в строке « rotateradars » такой подстрокой будет « radar ».

Вова хочет изменить написанную Мариной строку, чтобы подстрока-палиндром была как можно длиннее. Он может либо оставить строку нетронутой, либо изменить в ней ровно одну букву на другую. Например, если в строке « rotateradars » изменить шестую букву на « o », получится строка « rotatoradars », в которой максимальная подстрока-палиндром « rotator » имеет длину 7 . Подстроку-палиндром большей длины получить нельзя.

Помогите Вове определить, какую максимальную длину подстроки-палиндрома он сможет получить.

Входные данные
Первая строка входных данных содержит натуральное число n — длину строки, которую написала Марина ( 1 ≤ n ≤ 100 ).

Во второй строке входных данных содержится сама строка, состоящая из n строчных латинских букв.

Выходные данные
В выходной файл выведите одно число — максимальную длину подстроки-палиндрома, которую может получить Вова.
Примеры
Входные данные Выходные данные
1 12
rotateradars
7
✓ 7✗ 201 000средняяВойти и решать
Игорь читает новостную ленту в своей любимой социальной сети, состоящую из n последовательно расположенных записей. Каждая запись в ленте имеет свою характеристику — позитивность ai , заданную натуральным числом. После прочтения i -й записи настроение Игоря улучшается на ai .

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

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

Входные данные
Первая строка содержит два числа n и p ( 1 ≤ n ≤ 1000 , 1 ≤ p ≤ 107 ) — количество записей в новостной ленте и величину, на которую Игорь хочет увеличить своё настроение.

Вторая строка содержит n целых неотрицательных чисел a i ( 1 ≤ ai ≤ 104 ) — позитивности записей в ленте. Соседние числа разделены ровно одним пробелом.

Выходные данные
Если Игорь сможет стать счастливым, выведите два числа — номер записи k , с которой следует начать просмотр, и количество записей c , которые нужно посмотреть. Если возможных ответов с минимальным c несколько, выведите тот, у которого k минимально.

Если же решения нет, выведите - 1.
 
Примеры
Входные данные Выходные данные
1 9 10
1 2 3 4 5 4 3 2 1
3 3
2 5 6
3 1 1 1 4
5 2
3 3 100
10 10 10
-1
Сегодня у Кроша день рождения! По этому поводу он испек огромный торт. Торт представляет собой прямоугольник n × m , разделенный на nm единичных квадратиков горизонтальными и вертикальными линиями из крема.

На праздник в гости к Крошу пришли Совунья и Нюша. По законам гостеприимства, Крош должен поделиться с своим тортом. Для этого он хочет по очереди отрезать от торта два куска и раздать их гостьям.

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

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

Входные данные
Первая строка входных данных содержит единственное целое число n ( 1 ≤ n ≤ 4·104 ) — длину торта. Вторая строка входных данных содержит единственное целое число m ( 1 ≤ m ≤ 4·104 ) — ширину торта.

Гарантируется, что от торта Кроша можно отрезать два куска, оставив при этом прямоугольник ненулевой площади.

Выходные данные
Выведите одно число — максимальную площадь куска торта, который сможет оставить себе Крош.
Примеры
Входные данные Выходные данные
1 4
3
6


Примечание
Иллюстрация к тесту из примера: Крош делает разрезы вдоль пунктирных линий, отдавая гостьям куски с серыми границами. В конце ему достается кусок размера 2 × 3 .

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

Москва в представлении Егора представляет собой длинное прямое шоссе, вдоль которого расположено n башен, пронумерованных в порядке их следования числами от 1 до n. Все башни имеют различные высоты, которые выражаются целыми числами от 1 до n . Высота башни с номером i составляет hi .

Однако Егор не любит возрастающие последовательности. Его разочаровывают тройки башен, таких что с возрастанием их индексов их значения тоже возрастают. Более формально, тройка башен с номерами i , j и k разочаровывает Егора, если i < j < k и hi < hj < h k .

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

Входные данные
Первая строка входных данных содержит единственное число n — количество башен в Москве ( 1 ≤ n ≤ 8000 ).

Вторая строка входных данных содержит n различных натуральных чисел, i -е из них h i — высота i -й башни ( 1 ≤ hi ≤ n ).

Выходные данные
Выведите одно число — количество троек башен, которые разочаруют Егора.

Обратите внимание, что ответ может не поместиться в стандартный 32-битный тип данных. Надо использовать 64-битный тип, в паскале он называется « int64 », в C++ « long long », в Java « long ».
 
Примеры
Входные данные Выходные данные
1 5
1 3 4 2 5
5
2 3
3 1 2
0
✓ 4✗ 121 200средняяВойти и решать
Петя очень любит компьютерные игры. Недавно он обнаружил в интернете интересную ролевую игру. Управляя героем, надо искать магические артефакты и получать золото.

К сожалению, первый же квест в игре поставил Петю в тупик. Выполнив задание, он получил n магических артефактов, которые можно использовать для получения золота. Для каждого артефакта известна его ценность , для i -го артефакта она равна wi . Для получения золота артефакты можно активировать . Каждый артефакт можно активировать только один раз. Петя может активировать артефакты в произвольном порядке.

У героя, которым управляет Петя, есть магическая сила , исходно она равна нулю. Есть два способа активировать артефакт: с помощью магии и с помощью силы. Если активировать артефакт с ценностью w с помощью магии, то магическая сила героя увеличивается на w . Если же активировать артефакт с ценностью w с помощью силы, то герой получает xw золотых монет, где x — магическая сила героя в момент активации артефакта.

Например, если герой Пети получил 4 артефакта с ценностями 1, 1, 2 и 2, то можно получить 9 золотых монет, действуя следующим образом. Сначала надо активировать с помощью магии по одному артефакту с ценностью 1 и 2. После этого магическая сила героя равна 3, теперь можно активировать с помощью силы оставшиеся артефакты и получить 3 и 6 золотых монет, соответственно.

Помогите Пете определить, какое максимальное количество золотых монет он может получить, активировав артефакты в правильном порядке оптимальным образом.

Входные данные
Первая строка входных данных содержит единственное число n — количество магических артефактов ( 1 ≤ n ≤ 100 ).

Вторая строка входных данных содержит n чисел w1 , w2 , ..., wn — ценности артефактов ( 1 ≤ wi ≤ 100 ).

Выходные данные
Выведите максимальное возможное число золотых монет, которые можно получить с помощью магических артефактов.
Примеры
Входные данные Выходные данные
1 4
1 1 2 2
9
На Марсе есть большой полигон для испытания роботов. Он представляет собой таблицу из n строк и m столбцов, столбцы которой направлены с севера на юг, а строки — с запада на восток. В каждой клетке таблицы находится ускоритель, направленный в одну из сторон света.

Находясь в клетке, робот может воспользоваться ускорителем в ней. При этом он попадает в соседнюю с текущей клетку в направлении ускорителя и не тратит топливо. Если соседней клетки в направлении ускорителя нет, то им нельзя воспользоваться. Также робот может не пользоваться ускорителем и переместиться в любую из соседних клеток, затратив один литр топлива.

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

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


Входные данные
Первая строка входных данных содержит два числа n и m — протяженность полигона с севера на юг и с запада на восток ( 1 ≤ n , m ≤ 20 ).

Следующие n строк содержат по m латинских букв, описывающих направления ускорителей в очередной строке. Буква соответствуют направлению ускорителя: N — на север, W — на запад, S — на юг, E — на восток. Строки занумерованы с севера на юг, а столбцы с запада на восток. Таким образом, направление на север соответствует уменьшению номера строки, направление на юг — увеличению номера строки, направление на запад — уменьшению номера столбца, а направление на восток — увеличению номера столбца.

Выходные данные
Выведите одно целое число — минимальное количество литров топлива, которое должен потратить робот, чтобы выполнить задание.

 
Примеры
Входные данные Выходные данные
1 5 3
SSN
NSN
SWN
SWE
ENS
2
✓ 4✗ 111 300средняяВойти и решать
Маше на день рождения подарили набор матрёшек!

Теперь Маша сидит и вкладывает их одну в другую. Она заметила, что матрёшки отличаются по размеру, и одна помещается внутри другой, только если ее размеры строго меньше. Так, если есть две матрёшки i и j , а их размеры ai и aj соответственно, то матрёшка i вкладывается внутрь матрёшки j тогда и только тогда, когда ai < aj . Разумеется, непосредственно внутрь матрёшки можно вложить только одну другую матрёшку, иначе получится неаккуратно, а Маша — очень аккуратная девочка.

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

Входные данные
В первой строке находится число n — количество матрёшек, подаренных Маше ( 1 ≤ n ≤ 1000 ). В следующей строке через пробел находятся n чисел — размеры матрёшек. Число ai , стоящее на месте i , задает размер матрёшки с номером i ( 1 ≤ ai ≤ 10 000 ).

Выходные данные
Выведите одно число — максимальное количество матрёшек, которые можно вложить друг в друга.
 
Примеры
Входные данные Выходные данные
1 3
2 10 2
2
2 6
2 1 2 1 3 4
4
3 4
3 1 4 2
4
Каждый год в одном из уголков нашей вселенной проходят Интеллектуальные Олимпийские Игры. В этом году честь проводить это масштабное мероприятие выпала планете Юпитер. Вам предстоит отобрать две команды на Игры из имеющихся n кандидатов в сборную.

Все кандидаты являются школьниками, каждый кандидат учится в определенном классе. Как и на Земле, на Юпитере 11 классов, пронумерованных от 1 до 11. На Игры отбирается две команды по результатам отборочных соревнований. На соревнованиях проводится пять отборочных туров. По итогам каждого тура каждый школьник может набрать от 0 до 300 баллов, чем больше, тем лучше.

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

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

Входные данные
Первая строка входных данных содержит единственное число n — количество кандидатов в сборную Юпитера ( 8 ≤ n ≤ 500 ).

Следующие n строк содержат информацию о кандидатах. Каждая строка содержит 6 целых чисел — номер класса, в котором учится очередной кандидат, и его результаты на отборочных турах.

Номер класса является числом от 1 до 11, а результат на каждом туре — числом от 0 до 300.

Гарантируется, что все участники имеют различные суммарные баллы.

Гарантируется, что есть хотя бы 8 кандидатов, обучающихся не в 11 классе.

Выходные данные
Выведите две строки.

Первая строка должна содержать четыре целых числа, разделенных пробелами — номера кандидатов, которые попадут в первую команду Юпитера. Кандидаты нумеруются с единицы в порядке их появления во вводе. Выводить номера следует в порядке возрастания.

Вторая строка должна описывать вторую команду Юпитера в аналогичном формате.
 
Примеры
Входные данные Выходные данные
1 10
9 50 271 287 282 42
10 230 241 137 14 240
10 276 109 300 197 300
8 205 292 194 232 74
10 294 291 299 300 255
9 195 275 265 134 9
11 204 259 96 263 83
7 141 223 85 84 26
11 286 294 289 221 261
10 277 52 117 272 262
3 4 5 9
1 2 6 10
Арсений — молодой перспективный спортсмен. Всё, что любит делать Арсений — это тренироваться и вкусно есть. Также он отличается пунктуальностью. Только что он составил расписание из n пунктов: для каждого из следующих n часов он решил, что будет делать в это время — тренироваться или есть.

Арсений показал расписание своему тренеру, но ему оно не до конца понравилось. Тренер объяснил, что тренироваться в следующий час после приёма пищи вредно для здоровья.

Теперь Арсений хочет изменить свое расписание так, чтобы он ни разу не тренировался непосредственно после еды. При этом он хочет изменить минимальное число пунктов своего расписания. Помогите Арсению!

Входные данные
В первой строке входных данных содержится число n — количество пунктов в расписании Арсения ( 1 ≤ n ≤ 105 ).

Во второй строке содержится исходное расписание Арсения. Это строка s длины n , состоящая только из латинских букв « t » и « e », при этом если на позиции i в строке s стоит буква « t », то это значит, что в i -м часу Арсений запланировал тренироваться, а если на этой позиции стоит буква « e », то это значит, что в i -м часу Арсений запланировал есть.

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

Во второй строке выведите строку из n латинских букв « t » и « e » — изменённое расписание в том же формате, что и во входных данных. Если подходящих расписаний несколько, выведите любое из них.
 
Входные данные Выходные данные
1 6
tttete
1
ttteee
2 5
tttte
0
tttte
3 9
eeeeetttt
4
eeeeeeeee
На Марсе используют систему счисления с основанием k . В отличие от привычной нам десятичной системы счисления, в этой системе счисления k цифр со значениями от 0 до k - 1 , а вес цифры в i -м разряде равен ki .

Например, пусть k = 8 . Запись 3578 означает число 3·8 2 + 5·8 + 7 , в более привычной землянам десятичной системе счисления это число записывается как 23910 . А число 19210 , в системе счисления с основанием 8 записывается как 3008 .

Ильдар — юный марсианин, и он очень любит круглые числа. Ильдар называет число достаточно круглым , если его запись в системе счисления с основанием k заканчивается хотя бы на n нулей. Сегодня Ильдар хочет найти i -е по порядку достаточно круглое число.

Помогите Ильдару, найдите i -е достаточно круглое в системе счисления с основанием k натуральное число и выведите его в десятичной системе счисления. Ильдар очень дружелюбен и гарантирует, что ответ в десятичной системе счисления не превосходит 1018 .

Входные данные
Все ограничения на числа в этой задаче заданы в десятичной системе счисления. Все числа во вводе также записаны в десятичной системе счисления.

Первая строка входных данных содержит число k — основание системы счисления, которую использует Ильдар ( 2 ≤ k ≤ 109 ).

Вторая строка входных данных содержит число n — минимальное количество нулей на конце достаточно круглого числа ( 0 ≤ n ≤ 100 ).

Третья строка входных данных содержит число i — порядковый номер достаточно круглого числа, которое интересует Ильдара ( 1 ≤ i ≤ 109 ).

Выходные данные
Выведите одно число — запись в десятичной счистеме счисления i -го по порядку достаточно круглого в системе счисления с основанием k натурального числа. Гарантируется, что ответ не превышает 1018 .

Обратите внимание, что ответ может не поместиться в стандартный 32-битный тип данных. Надо использовать 64-битный тип, в паскале он называется « int64 », в C++ « long long », в Java « long ». Если вы пишете на языке Python, то волноваться не надо, в Python встроенный целочисленный тип не имеет ограничений на величину числа.
 
Входные данные Выходные данные
1 8
2
2
192
Пятиклассник Лёня недавно прочитал статью о числах Фибоначчи.

Числами Фибоначчи называется числовая последовательность F1 , F2 , ..., Fn , ... , которая устроена следующим образом: F1 = 1 , F2 = 2 , а каждое следующие число вычисляется как сумма двух предыдущих: если i ≥ 3 , то Fi = Fi - 1 + Fi - 2 . Последовательность чисел Фибоначчи, таким образом, начинается с чисел 1, 2, 3, 5, 8, 13, 21, ... .

Сегодня Лёня изучает числа Фибоначчи с номерами от L до R , включительно. Так как Лёня очень любит число 3, ему стало интересно, сколько чисел Фибоначчи среди тех, которые он изучает сегодня, делятся на 3. Например, если L = 3 и R = 7 , то Лёня будет изучать числа F3 = 3 , F4 = 5 , F5 = 8 , F6 = 13 и F7 = 21 . Среди них на 3 делятся два числа: F3 = 3 и F7 = 21 .

Напишите программу, которая поможет Лёне найти ответ на волнующий его вопрос.

Входные данные
Первая строка входных данных содержит число L , а вторая — число R ( 1 ≤ L ≤ R ≤ 105 ).

Выходные данные
Выведите единственное число — количество чисел Фибоначчи с номерами от L до R , включительно, которые делятся на 3.
 
Входные данные Выходные данные
1 3
7
2
✓ 12✗ 37800средняяВойти и решать
Максим вырос, разочаровался в большой науке и теперь работает авиадиспетчером. Каждый день он делает очень важное и ответственное дело: сажает самолеты.

Этот процесс не такой уж сложный, как может показаться на первый взгляд. В аэропорту, в котором работает Максим, всего одна посадочная полоса, поэтому самолеты должны садиться по очереди. Посадка занимает b минут. Если самолет прилетел, а посадочная полоса занята, его отправляют совершать дополнительные круги над городом до тех пор, пока он не прилетит к аэропорту со свободной взлётно-посадочной полосой. Один круг занимает f минут. Если посадочная полоса свободна, самолёт немедленно начинает посадку. Если несколько самолётов подлетают к аэропорту со свободной посадочной полосой одновременно, то один из них идёт на посадку, а другие отправляются совершать дополнительные круги.

Сегодня в аэропорт должны прилететь n самолетов, известно время прилета каждого из них. За какое время все самолёты совершат посадку?

Входные данные
В первой строке даны три целых числа n, b, f — количество самолетов (1≤n≤1000), время, которое занимает посадка и время, которое занимает один круг над аэропортом (1≤b, f≤109  ). В следующей строке дано n целых чисел ti — времена прибытия самолетов, перечисленные в произвольном порядке (0≤ti≤109 ).

Выходные данные
Выведите одно число: время, за которое все самолёты совершат посадку.
 
Примеры
Входные данные Выходные данные
1 10 5 12
13 0 1 10 20 20 2 1 10 20
79
В этой задаче мы снова возвращаемся в младшую группу детского сада «Телепузики». Чтобы окончательно успокоить детей, воспитательница решила включить им мультик про Тома и Джерри. Серия, которую сейчас смотрят дети, довольно-таки незамысловата — в ней Джерри развесил по потолку комнаты наковальни на веревках. Когда Том оказывается под очередной наковальней, Джерри перерезает веревку. Наковальня падает на Тома, Тому больно, всем остальным весело, дети смеются. В общем, вполне обычная серия.

А вам нужно по кадру из этой серии определить, упадет ли наковальня на Тома, если Джерри перережет веревку.

Входные данные
Вам дана ASCII-арт картинка, то есть картинка, нарисованная символами. На ней есть наковальня, привязанная веревкой к потолку, и кот Том. В первой строке даны числа N, M (4≤N≤100, 1≤M≤100 ). Следующие N строк состоят из M символов каждая, и представляют собой саму картинку. Картинка устроена следующим образом:
  • Первые K1 строк в одной и той же позиции X1 стоит символ «|», в остальных — пробел. Это веревка.
  • Следующие K2 строк в одних и тех же позициях с X2 по X3 стоит символ «#», в остальных — пробел. Это наковальня.
  • 2×X1=X2+X3, то есть наковальня подвешена за середину.
  • Следующие K3 строк содержат только пробелы. Это пустота между наковальней и котом.
  • Следующие N − K1 − K2 − K3 строк содержат произвольные символы. Любой символ, кроме пробела — часть кота. Существует хотя бы один непробельный символ.
Числа K1, K2, K3 и N − K1 − K2 − K3  ненулевые.
Выходные данные
Выведите «YES», если при падении наковальня заденет Тома, в противном случае выведите «NO».
 
Примеры
Входные данные Выходные данные
1 13 29
          |                  
          |                  
          |                  
    #############            
    #############            
    #############            
                             
                             
            /\_/\            
            >^.^<.---.       
           _'-`-'     )\     
          (6--\ |--\ (`.`-.  
              --'  --'  ``-' 
YES
2 16 30
    |                         
 #######                      
 #######                      
 #######                      
 #######                      
                              
            ,                 
           \)\_               
          /    '. .---._      
        =P ^     `      '.    
         `--.       /     \   
         .-'(       \      |  
        (.-'   )-..__>   , ;  
        (_.--``    (__.-/ /   
                .-.__.-'.'    
                 '-...-'      
NO
А мы, тем временем, возвращаемся в поезд Москва-Адлер, где Максим все-таки был пойман папой, и три рулона туалетной бумаги не были выпущены из окна первого вагона («Ну паааап, ну мне было интересно, что длиннее — поезд или бумага, ну не надо за ухо»).

Теперь Максим сидит в купе вместе с мамой. Чтобы отвлечь его от продумывания деталей новых экспериментов, мама — неплохой математик — рассказала Максиму одну любопытную задачу («Мои студенты в среду ее так и не смогли решить, совсем считать разучились»).

Дано число x. Каждую его цифру нужно умножить на 19, прибавить к результату 40, полученное число снова умножить на 19, взять последнюю цифру этого произведения и поставить его на место исходной цифры в числе x. Вопрос: какое число получится в итоге?

Максим, впрочем, решил задачу гораздо быстрее, чем ожидала его мама, и, к сожалению, снова был готов к экспериментам. А сможете ли вы?

Входные данные
Дано целое число x (0≤x≤10000).

Выходные данные
Выведите одно число: ответ на задачу, которую мама рассказала Максиму.
Примеры
Входные данные Выходные данные
1 27 27
Дети, как известно, все раньше и раньше начинают пользоваться интернетом. Теперь, когда у них возникают вопросы, они не бегут к родителям, а заходят в свою любимую поисковую систему и узнают ответ в интернете. Но вдруг они случайно найдут что-нибудь, что им знать пока рановато? Или, может быть, лучше не знать вообще никогда?

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

Ваша задача — помочь правительству этой страны защитить детей от вредной информации. Напишите программу, которая будет проверять, нет ли в данной строке запрещенного слова, учитывая возможное коварство сайтовладельцев. Известно, что сайтовладельцы иногда делают следующие замены: e  3, o  0, i  1, t  7, a  4, s  5.

Входные данные
В первой строке входных данных дана строка — текст с сайта. Во второй строке входных данных дана другая строка — запрещенное слово. Первая строка состоит из маленьких латинских букв и цифр, вторая строка состоит только из маленьких латинских букв. Длина каждой строки не превышает 100.

Выходные данные
Выведите «YES», если запрещенное слово встречается как подстрока в строке с сайта, и «NO» иначе. Возможно, в строке с сайта некоторые буквы изначально были заменены на цифры в соответствии с приведенными выше правилами.
 
Примеры
Входные данные Выходные данные
1 inah0leinthegroundthereliv3dah0bb1t
hobbit
YES
2 whath4v3igotinmypocket
handses
NO
3 whath4veig0t1nmyp0ck37
knife
NO
4 wh4thav31go71nmyp0ck3t
stringofnothing
NO
✓ 19✗ 31900средняяВойти и решать
Теория относительности — штука сложная. Это Максим, семилетний сын одного известного физика, знает уже давно. Из отцовских объяснений Максим понял, что свет — это самая быстрая штуковина в мире. А если кажется, что что-то все-таки быстрее, чем свет, то на самом деле оно движется со скоростью, равной скорости света — 299 792 458 м/с.

Так что по пути на море, убегая по поезду Москва-Адлер от чем-то очень недовольного папы, Максим совершенно не думал над тем, за что именно он сейчас получит и можно ли это было как-то предотвратить. Волновало его одно: с какой скоростью его папа бежит относительно Земли, если учесть теорию относительности? Поезд едет из Москвы в Адлер со скоростью v м/c, а папа бежит за Максимом в сторону головы поезда со скоростью u м/с относительно поезда.

Входные данные
Даны два числа v и u — скорость поезда относительно Земли и скорость папы Максима относительно поезда соответственно. Обе скорости неотрицательны и не превышают скорости света (299 792 458 м/с).

Выходные данные
Выведите одно число — скорость папы Максима относительно Земли, найденную с учетом представлений Максима о теории относительности.
Примеры
Входные данные Выходные данные
1 120 35 155
2 149896229 149896230 299792458
Когда настала зима и дел в Простоквашино стало мало, Шарик и Матроскин все дни проводили за настольными играми. Но шахматы, шашки, крестики-нлоики и домино им быстро надоели, а других игр у них не было. Поэтому они придумали новую игру.

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

Входные данные
В единственной строке записаны через пробел 100 чисел ai (1≤ai≤1000)

Выходные данные
В ответ выведите Matroskin, если выигрывает Матроскин, иначе выведите Sharik. Если выигрывает Матроскин, то на следующей строке выведите оптимальный первый ход Матроскина: если он должен взять самое левое число, то выведите «left», если он должен взять самое правое число — выведите «right». Если Матроскину не важно, какое из чисел взять, выведите любое из слов «left» и «right».
Примеры
Входные данные Выходные данные
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 Matroskin
right
Поделиться
Класснуть