Задача на реализацию

129 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

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

Машины в Берляндии представляют собой отрезки длинной l. Автостоянка представляет отрезок на прямой [0;M]. В точке 0 и точке M находятся стены. В некоторых точках Xi этого отрезка могут стоять машины, то есть левая граница отрезка, образующего машину, находится в точке Xi. Уже стоящие на стоянке машины не пересекаются, но могут стоят вплотную друг к другу или к стене.

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

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

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

В первой строке записаны четыре целых неотрицательных числа n, M, l и b (0 ≤ n ≤ 100, 1 ≤ M ≤ 100000, 1 ≤ l ≤ 100000, 0 ≤ b ≤ 100000) — количество автомобилей на стоянке, длина стоянки, длина автомобиля в Берляндии и необходимое расстояние от границ приехавшего автомобиля до ближайшего препятствия.

В следующей строке находятся n неотрицательных чисел Xi (Xi < M) — точки, в которых располагаются левые границы машин.

Гарантируется, что машины не пересекаются между собой, а также со стенами, но возможно соприкасаются.

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

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

Если не существует машины, которую можно было бы поставить, удовлетворяя все условия, выведите 0.

Пример входных и выходных данных

Ввод Вывод Примечание
4 21 1 1
7 12 3 16
1  
4 30 3 1
24 5 11 18
1  
2 20 3 1
7 10
0 В данном примере машины стоят вплотную, и между ними нельзя поставить никакую машину.

 
Дан фрагмент программы: 

 

Операции MOD, mod и функция ост_дел вычисляют остаток от деления первого аргумента на второй. Операции \, div и функция цел_дел осуществляют целочисленное деление. Какое минимальное значение целочисленной переменной X должно было быть перед началом выполнения этого фрагмента, если после его выполнения получилось значение R=A?, где А - вводится с клавиатуры. 
В ответе укажите целое число. 
Ник Фьюри решил, что бойцы отряда спецназа, являющегося подразделением организации S.H.I.E.L.D., помогут мстителям отразить атаку войска Локи. Он решил, что в бой отправятся n бойцов, а все остальные понадобятся в других местах. Теперь ему осталось только выбрать, какие именно бойцы пойдут в атаку.

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

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

Формат входного файла
Первая строка входного файла содержит два числа n и m (1 ≤ n ≤ 100 000, 0 ≤ m ≤ 200 000)  количество солдат в строю и количество команд, которые подаст Ник. Вторая строка содержит n целых неотрицательных чисел, не превосходящих 109  исходный рост солдат в строю. Следующие m строк содержат команды, подаваемые Ником. Если первый символ в строке, описывающей очередную команду, '!', то за ним следуют два числа k и x (1 ≤ k ≤ n, 0 ≤ x ≤ 109), где k  место в строю того солдата, которого должен заменить солдат роста x. Команда второго типа описывается знаком '?'.

Формат выходного файла
Для каждой команды второго типа в отдельной строке выведите "YES", если в данный момент солдаты в строю стоят по неубыванию роста, и "NO"  в противном случае.
 
Ввод Вывод
5 5
2 4 6 8 10
?
! 2 7
?
! 3 8
?
YES
NO
YES
Когда Локи ловил Халка, он немного не рассчитал своих сил, и случайно перенес его в параллельный n-мерный мир. После этого Локи намертво вморозил Халка в глыбу льда. Для окончательной победы Локи необходимо только отпилить от глыбы лишний лед так, чтобы остался только сам замороженный Халк. Пространство, в которое Локи перенес все происходящее, не более чем трехмерно. В одномерном пространстве глыба представляет из себя отрезок некоторой длины, а Халк внутри  вложенный в него отрезок. В двумерном пространстве глыба и Халк  прямоугольники со сторонами, параллельными оcям координат, причем Халк вложен в глыбу. Аналогично, в трехмерном пространстве глыба и Халк являются параллелепипедами со сторонами, параллельными осям координат.
 
Локи может отрезать от глыбы какие-то куски льда. В одномерном пространстве разрез  точка, в двумерном  прямая, в трехмерном  плоскость. В любом пространстве разрез не должен проходить через Халка, но может его касаться. Локи хочет узнать, за какое минимальное количество разрезов он сможет оставить от глыбы льда только ту ее часть, в которой находится Халк.

Формат входного файла
Первая строка входного файла содержит одно число n (1 ≤ n ≤ 3)  количество измерений в пространстве, в котором происходит действие. Следующая строка содержит n натуральных чисел ai (1 ≤ ai ≤ 10000)  координаты одной из вершин глыбы. Будем считать, что вершина глыбы, противоположная данной, находится в начале координат.
В следующей строке сначала перечислены n целых чисел bi (0 ≤ bi ≤ ai)  координаты одной из вешин Халка, затем еще n целых чисел ci (0 ≤ ci ≤ ai)  координаты противоположной вершины Халка.
 
Формат выходного файла
Выведите единственное целое число  минимальное количество разрезов, которые необходимо
сделать Локи, чтобы выпилить Халка.
Ввод Вывод
1
5
0 3
1
2
3 4
2 2 3 3
3
3
2 2 2
0 1 0 1 2 1
3

В Берляндии каждый автомобиль имеет регистрационный номер. Автомобильные номера в Берляндии имеют следующий вид: LDDLDDL, где символ L обозначает строчную латинскую букву, а D цифру.

Филипп устроился работать в службу регистрации автомобильных номеров. По своей неопытности в первый же день работы Филипп разлил на стопку номеров кофе. У некоторых номеров оказался залит второй блок цифр (цифры на позициях 5 и 6).

Филипп считает, что все номера в Берляндии уникальны, поэтому он хочет быстро подобрать все залитые цифры, так чтобы среди всех номеров не было двух одинаковых. Задача показалась ему нерешаемой, и он попросил вас помочь ему.

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

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

В следующих n строках находятся n регистрационных номеров, в i+1-й строке i-й номер, в описанном выше формате. На месте залитых цифр находятся знаки вопросов.

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

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

Первая строка должна содержать NO, если в стопке были одинаковые номера. Иначе первая строка должна содержать YES, а далее n строк должны содержать номера из стопки — по одному в каждой строке, причем i+1-я строка должна содержать i-й номер. Номера должны удовлетворять принятому в Берляндии формату в том же порядке, что и во входном файле.

Если ответов несколько — разрешается вывести любой.

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

Пример входных и выходных данных

 
Ввод Вывод
4
a10a10c
a30b??c
a30b??c
x70r??r
YES
a10a10c
a30b10c
a30b22c
x70r37r
3
a00b10c
a00b10c
c02y03x
NO
2
a99a??b
a99a??b
YES
a99a11b
a99a22b

В Берляндии каждый автомобиль имеет регистрационный номер. Автомобильные номера в Берляндии имеют следующий вид: LDDLDDL, где символ L обозначает строчную латинскую букву, а D цифру.

Филипп устроился работать в службу регистрации автомобильных номеров. По своей неопытности в первый же день работы Филипп разлил на стопку номеров кофе. У некоторых номеров оказался залит первый блок цифр (цифры на позициях 2 и 3).

Филипп считает, что все номера в Берляндии уникальны, поэтому он хочет быстро подобрать все залитые цифры, так чтобы среди всех номеров не было двух одинаковых. Задача показалась ему нерешаемой, и он попросил вас помочь ему.

Формат входных данных

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

В следующих n строках находятся n регистрационных номеров, в i+1-й строке i-й номер, в описанном выше формате. На месте залитых цифр находятся знаки вопросов.

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

Формат выходных данных

Первая строка выходного данных должна содержать NO, если в стопке были одинаковые номера. Иначе первая строка должна содержать YES, а далее n строк должны содержать номера из стопки — по одному в каждой строке, причем i+1-я строка должна содержать i-й номер. Номера должны удовлетворять принятому в Берляндии формату в том же порядке, что и во входных данных.

Если ответов несколько — разрешается вывести любой.

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

Ввод Вывод
4
a10a10c
a??b30c
a??b30c
x??r70r
YES
a10a10c
a10b30c
a22b30c
x37r70r
3
a10b00c
a10b00c
c03y02x
NO
2
a??a99b
a??a99b
YES
a11a99b
a22a99b


 

Мальчик Филя прочитал в одном научном журнале, что не так давно астрономы открыли новую планету, на которой как и на Земле существует жизнь. Ученые уже установили связь с ее жителями и успели выяснить, что эта планета обращается вокруг своей оси за другое время, поэтому сутки здесь длятся не 24 часа. На ней, так же как и на Земле, время измеряется часами, минутами и секундами. Но количество минут в часе, и секунд в минуте не совпадает с привычными земными.

А именно: в одном часе A минут, в одной минуте B секунд. Также, в одних сутках на этой планете X часов, Y минут Z секунд. То есть когда часы должны показать момент времени X:Y:Z, они показывают 0:0:0, и с этого момента начинается отсчет новых суток

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

Филя увлекается нумерологией, поэтому его интересует вопрос: сколько хороших моментов времени на часах этой планеты будет показано с момента времени H1:M1:S1 до момента времени H2:M2:S2 включительно. Филя называет момент времени хорошим, если в нем не содержится цифры c, то есть ни один из дисплеев не содержит (с учетом вышеописанных правил) цифру c.

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

В первой строке находятся два натуральных числа A, B (1 ≤ A, B ≤ 50) — количество минут в часе и секунд в минуте.
В следующей строке находятся три целых числа X, Y, Z (0 ≤ X ≤ 50, 0 ≤ Y < A, 0 ≤ Z < B) — количество часов, минут и секунд в сутках. Гарантируется, что X, Y, Z одновременно не равны нулю.
В следующей строке находятся три целых числа H1, M1, S1— стартовое время. Гарантируется, что это время, которое часы могут отобразить в течении суток.
В следующей строке находятся три целых числа H2, M2, S2— конечное время время. Гарантируется, что это время, которое часы могут отобразить в течении суток.
Обратите внимание, что моменты времени могут находиться в разных сутках. Также обратите внимание, что моменты времени могут совпадать. В этом случае в интервале находится единственный момент времени.
В следующей строке находится цифра c (0 ≤ c < 10).

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

Требуется вывести одно число — количество хороших моментов времени с H1:M1:S1 до H2:M2:S2 включительно.

 

Пример входных и выходных данных

Ввод Вывод
3 2
5 0 0
0 0 0
1 0 0
7
4 2
3 1 1
1 0 0
0 0 0
6
50 50
24 0 0
3 0 0
18 15 0
26956

 
Согласно исследованиям британских ученых, люди способны воспринимать слова в тексте, если в каждом слове оставить на месте первую и последнюю буквы, а остальные перемешать произвольным образом; например, слово "программа" может быть прочитано даже если оно записано как
"пгрроммаа" или "пморгамра".
Вам дан словарь с несколькими словами, а также некоторый текст. Для каждого слова из текста определите, можно ли его прочитать как одно из слов словаря, руководствуясь правилами, описанными выше.
 
Формат входных данных
В первой строке записано одно целое число n (1 <=  n <= 105)  - количество слов в словаре.
В следующих n строках записаны слова из словаря, по одному на строку. Гарантируется, что все слова в словаре различны.
В следующей строке записано одно целое число m (1 <= m <= 105) - количество слов в тексте.
В следующих m строках записаны слова из текста, по одному на строку.
Каждое слово состоит только из строчных букв латинского алфавита; ни в какой строке ввода нет пробелов и других разделителей. Суммарная длина всех слов не превосходит 105.
 
Формат выходных данных
Для каждого слова из текста выведите "YES" если его можно прочесть как одно из слов словаря, и "NO" в противном случае. Ответы для слов из текста следует выводить в том же порядке, в
котором слова перечислены во вводе; следует выводить по одному ответу на строку.

 
Ввод Вывод
4
bird
sun
lksh
summer
4
brid
snu
sommer
sis
YES
NO
NO
NO
Пете нравится цифра 2. Он считает число красивым, если в его десятичной записи ровно две цифры 2. Петя хочет получить большой список красивых чисел и повесить его на стенку.
ПомогитеПете и выведите все красивые числа, не превосходищие n.
 
Формат входных данных
В первой и единственной строке записано одно целое число n (1 <= n <= 106).
 
Формат выходных данных
Выведите все целые положительные числа, не превосходящие n, в десятичной записи которых ровно две цифры 2.  Числа следует выводить в порядке возрастания, по одному на строке.
 
Ввод Вывод
179 22
122
1  
 
Замечание
Обратите внимание, что список может быть пустым, в этом случае ничего выводить не нужно.
Овечка Толя умеет клонироваться - тогда рядом с ней появляется такая же овечка с той же логикой и привычками.
Когда овечка встречает n стогов сена то происходит следующее:

-  Если n меньше 4 то овечка выкидывает эти n стогов сена в ближайший овраг. Иначе:

-  Если n делится на 5, то овечка сбрасывает n/5 стогов сена в ближайший овраг; клонируется;
    сама обрабатывает 3n/5 стогов сена с помощью этой же процедуры, а ее клон обрабатывает 
     оставшиеся n/5 стогов сена с помощью этой же процедуры. Иначе:
 
- Овечка съедает 4 стога сена и обрабатывает оставшиеся n-4 стогов с помощью этой же процедуры.

Овечка Толя однажды увидела n стогов сена - это число вам дано. Сколько стогов сена будет
съедено ей и всеми е клонами при описанном процессе ?
 
Формат входных данных
 В первой строке содержится натуральное число n <= 6 n <= 106
 
Формат выходных данных
Выведите количество, стогов съеденных в итоге Толей и клонами
 
Ввод Вывод
29 8
Недавно в солнечный весенний день директору Летней Флатландской Компьютерной Школы (ЛФКШ) Сергею Александровичу пришла в голову идея организовать первую флатландскую конференцию для школьников по программированию. Теперь перед ним стоит задача выбрать место проведения. 

Флатландия представляет собой прямоугольник из m строк и n столбцов, в каждой из клеток которого расположен один город? Сергей Александрович уже посчитал для каждого города количество желающих принять участие в конференции. Известно, что флатландцы не любят далеко ездить, так что в каком бы городе она проводилась,  в конференции смогут принять участие только школьники из самого города и соседних с ним по стороне городов. Формально говоря, если конференция проводится в городе, находящемся в i-ой строке и j-ом столбце, то в этой конференции будут участвовать школьники из городов (i, j), (i − 1, j) ( при условии, что i > 1) ,  (i + 1, j) (при условии, что i < m), (i, j − 1) (при условии, что j > 1) , и (i, j + 1) , (при условии, что j < n).
Сейчас Сергей Александрович хочет понять,  в каких городах возможно поселить всех приезжих участников.  Пока он выясняет количество доступных мест в гостиницах Флатландии, вам предстоит посчитать для каждого из возможных городов проведения, скольким школьникам потребуется предоставить жиль на время конференции.
Обратите внимание на то, что школьникам, живущим в том же городе, в котором проводится конференция, поселение не нужно.

Формат входных данных
В первой строке записаны два числа m и n (1 <= m, n <= 350) - размеры Флатландии. В каждой из последующих m строк содержатся по n чисел.
В i-ой стоке и j-ом столбце содержится число ai,j ( 0<=  ai,j  <=10000)  -  количество школьников из города (i, j),  желающих принять участие в конференции.
Формат выходных данных
Выведите m строк по n чисел в каждой. Число в строке с номером i и стобце с номером j должно равняться количеству приезжих участников конференции, если местом проведения будет
выбран город, с координатами (i, j).
 
Ввод Вывод
3 4
1 0 3 2
5 6 1 2
1 1 0 11
5 10 3 5
8 7 11 14
6 7 13 2
1 1
5
0
Улица М. города Д. печально известна среди местных жителей качеством дорожного покрытия. В этом тяжело винить ремонтные службы: пожалуй, они следят за этой улицей даже слишком тща- тельно. Проблема в том, что каждый без исключения ремонт улицы выглядит следующим образом: бригада рабочих выбирает некоторый участок улицы единичной длины и меняет асфальт только на нём, причём тип асфальта на этом участке в результате может отличаться от типов асфальта на других участках, что, разумеется, усложняет проезд по улице.

Вы, как коренной житель города Д. и программист по призванию, решили использовать свои профессиональные навыки на благо общества и облегчить жизнь своим соседям по улице М. А именно, вы решили создать сайт, содержащий актуальную информацию о непроходимости улицы. Прежде всего, вы заметили, что улица разбита на N идущих друг за другом участков единичной длины. По странному совпадению бригада рабочих всегда выбирает для ремонта ровно один из таких участков и целиком меняет тип асфальта на нём. Затем вы пронумеровали эти участки от 1 до N и собрали информацию о типе асфальта на каждом из участков — числа t1, t2, . . . , tN (ti — номер типа асфальта на i-м участке, согласно Государственному реестру дорожных покрытий). Наконец, вы определили непроходимость улицы как минимальное количество непрерывных непересекающихся отрезков c одинаковым типом асфальта, на которые она разбивается. Например, непроходимость улицы 110111 равна 3, потому что она состоит из трёх участков 11, 0 и 111, а идеальная улица 2222 имеет непроходимость, равную 1.

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

Формат входных данных
Первая строка входного файла содержит единственное натуральное число N — количество участ- ков дороги (1 <= N <= 100 000). Следующая строка содержит N целых чисел t1, t2, . . . , tN — исходные типы асфальта участков дороги (|ti | <= 109 ). Третья строка содержит единственное натуральное число Q — количество сообщений от жителей об обновлении дорожного покрытия (1 <= Q <= 100 000). Каждая из следующих Q строк содержит очередное сообщение. i-е сообщение представляет собой пару целых чисел pi , ci — номер ремонтируемого участка дороги и новый номер типа асфальта на этом участке (1 <= pi <= N, |ci | <= 109 ). Участки дороги нумеруются от 1 до N в порядке задания их исходного типа асфальта во второй строке входного файла.

Формат выходных данных
Выведите Q строк. i-я строка (1 <= i <= Q) должна содержать единственное целое число — величину непроходимости улицы после первых i обновлений дорожного покрытия.

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

Замечание
Рассмотрим подробнее второй тестовый пример. Изначально улица 1123221 состоит из 5 отрезков с одинаковым типом асфальта: 11, 2, 3, 22, 1 и, соответственно, имеет непроходимость, равную 5 (её не нужно выводить в выходной файл).
После первого ремонта улица станет выглядеть как 1223221 и всё ещё будет состоять из 5 участ- ков, но других: 1, 22, 3, 22, 1. Поэтому её непроходимость равна 5, и первое число в выходном файле равно 5.
После второго ремонта улица будет состоять из 3 участков: 1, 22222, 1, так что второе число в выходном файле — 3.
После третьего ремонта получим 4 участка: 1, 2222, 9, 1, соответственно, третье и последнее число в выходном файле — 4.
21919#21919
Комплекс программ, предназначенный для автоматизации вычислений и анализа данных, представленных в табличной форме называется...

1. электронной таблицей
2. табличным редактором
3. электронным редактором таблиц
4. табличным процессором
21917#21917
Каково основное назначение табличного процессора?

1. представление числовой информации в табличной форме
2. создание таблиц и диаграмм
3. автоматизация расчетов в таблицах
4. создание таблиц

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

  • Если какая-то клетка бактерии имеет двух или трёх живых соседей, то в следующий момент времени она остаётся жить.
  • Если какая-то клетка бактерии имеет менее двух живых соседей, то в следующий момент времени она умирает от одиночества и становится пустой ячейкой.
  • Если какая-то клетка бактерии имеет более трёх живых соседей, то в следующий момент времени она умирает от перенаселения и становится пустой ячейкой.
  • Если у пустой ячейки таблицы имеется ровно три живых клетки-соседа, то в следующий момент времени в ней зарождается живая клетка.
Соседями ячейки являются ближайшие ячейки по горизонтали (справа и слева), по вертикали (снизу и сверху), а также по четырём диагоналям. Таким образом, у ячейки может быть максимум 8 соседей.

 

Дмитрию нужна программа, которая по текущей форме бактерии прогнозирует, как она будет выглядеть в следующий момент времени. Помогите ему в этом.

Формат входных данных

Ввод состоит из 10-ти строк. Каждая строка содержит в себе 10 символов. Символ '#' означает, что в соответствующей ячейки находится живая клетка бактерии, а символ '.' означает, что ячейка пуста.

Формат выходных данных

Необходимо вывести таблицу 10 на 10 — изображение бактерии в следующий момент времени.

В интеллектуальном шоу «Твоя игра» принимают участие 3 человека. Им даются 5 тем, каждая из которых содержит по 5 вопросов стоимостью 100, 200, 300, 400 и 500 баллов. Если игрок правильно отвечает на вопрос, то к его текущей сумме прибавляется стоимость вопроса, если же он допускает ошибку, то от его суммы стоимость вопроса отнимается. При этом у игрока может оказаться отрицательная сумма баллов.

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

Формат входных данных

В первой строке находится три последовательности символов, разделённые пробелом — имена участников. Имя начинается с заглавной буквы, остальные буквы являются строчными. Имя участника содержит не более 10 и не менее 2 букв, все буквы латинские.

В следующих строках содержится информация о сыгранном вопросе. Сперва идёт имя участника, отвечавшего на вопрос, а через пробел — полученная им сумма баллов. Если количество баллов положительно, то ответ оказался правильным, если же отрицательно, то игрок ошибся. Гарантируется, что разыгранное количество вопросов каждой стоимости (100, 200, 300, 400 и 500) не превосходит 5. Также гарантируется, что во время игры будет разыгран хотя бы один вопрос.

В последней строке находится надпись «GAME OVER», означающая, что игра окончена и больше вопросов не будет.

Формат выходных данных

Для каждой строки ввода, описывающей разыгранный вопрос, нужно вывести 3 числа: баллы игроков после розыгрыша вопроса. Баллы должны соответствовать игрокам в порядке следования их имён в первой строке входных данных.

Ввод:

Artur Dmitry Fedor
Artur -500
Dmitry 400
Fedor 100
Artur 400
Fedor 200
Fedor 100
Artur 500
GAME OVER

Вывод:
-500 0 0
-500 400 0
-500 400 100
-100 400 100
-100 400 300
-100 400 400
400 400 400
Учительница математики очень не любит Колю и всегда заставляет его отвечать у доски самые
сложные задачи.
Вот и сегодня она написала на доске последовательность из n целых неотрицательных чисел
чисел a1, a2, . . . , an и вызвала Колю к доске. За одно действие учительница разрешает Коле
стереть любое число и на его место записать число на единицу больше. Учительница требует от
Коли за минимальное число действий добиться того, чтобы где-нибудь в этой последовательности
встречались подряд в возрастающем порядке числа от 1 до h.
Помогите Коле понять, за какое минимальное число действий ему удастся добиться того, что для
некоторого i будет выполнено ai = 1, ai+1 = 2, . . . , ai+h−1 = h, или выясните, что это невозможно и
учительница опять безнаказанно издевается над бедным Колей.

Формат входных данных
Первая строка входного файла содержит два натуральных числа: n и h (1 ≤ h ≤ n ≤ 200 000).
Вторая строка содержит n чисел ai — исходные значения элементов выписанной последовательности
(0 ≤ ai ≤ n).
Формат выходных данных
В единственной строке выходного файла выведите минимальное количество действий, за которое
Коля сможет выполнить задание, или −1 в случае, если выполнить его невозможно.

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

Ввод
3 2
1 3 2
Вывод
-1

В первом примере Коле надо дважды увеличить на 1 третье число и один раз — четвертое. Тогда
последовательность примет вид 1, 1, 2, 3, для i = 2 выполнено искомое условие.
Во втором примере получить в последовательности подряд 1 и 2 невозможно.

Как известно, Саруман Белый - маг очень занятой и каждый день ему приходится работать с огромным количеством древних свитков. Чтобы не запутаться, он дал каждому свитку номер и положил их все на длинную полку. Но последнее время к нему постоянно наведывался Гендальф, чтобы узнать что-нибудь из свитков, что доставляет удовольствие Гендальфу и очень бесит Сарумана. И чтобы не отвечать на огромное количество вопросов Гендальфа где что лежит, он пообещал подарить свой посох тому, кто напишет программу отвечающую на вопросы Гендальфа.
 
Входные данные:
В первой строке задаётся число N(0<=N<=105). На следующих N строках идет описание типа свитка и его номер L (-109<=L<=109). Потом вводится число Q(0<=N<=105) – количество запросов. А затем на еще Q строках вводится тип свитка и его номер (-105<=L<=105).
Типы свитков:
LEG - легендарные
FEW - редкие
STAND – обычные
 
Выходные данные:
На каждый запрос вывести позицию свитка если он есть (Нумерация с 1) и “Fatality error” если такого не имеется. Каждый ответ на новой строке. Так же Гендальфу интересен номер самого большого свитка и самого маленького (Тип свитка на это не влияет). Это необходимо вывести после основных запросов на новой строке по образцу в примере.
 
Пример:
Входные данные:
5
LEG -345
LEG 1
FEW 2452
STAND 4
FEW 334
3
LEG -353
LEG -345
STAND 4
Выходные данные:
Fatality error
1
4
Max 2452 Min -345

Автор: Аксенов Владимир
 
 
Поделиться
Класснуть