Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Участники викторины письменно отвечают на \(10\) вопросов различной сложности. За правильный ответ начисляется от \(1\) до \(5\) баллов в зависимости от сложности вопроса. За неверный ответ вычитается от \(1\) до \(5\) баллов. Участник может не отвечать на какой-то вопрос, в таком случае баллы за этот вопрос не начисляются.
По результатам викторины для каждого участника вычисляются три показателя:
В таблице результатов участники располагаются по убыванию первого показателя – суммы, при равенстве сумм – по убыванию второго показателя (плюсов), при равенстве сумм и плюсов – по убыванию третьего показателя (ответов). При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров.
Дальнейший отбор проводится среди тех, кто набрал положительную сумму баллов, участники с нулевой и отрицательной суммой исключаются. В следующий тур проходят участники, занявшие места в первой трети полученной таблицы (учитываются только положительные результаты), а также те, у которых все три показателя такие же, как у занявшего последнее место в первой трети таблицы.
Право участия в дополнительном отборочном туре получают \(10\%\) из тех, кто набрал положительную сумму, но не попал сразу в следующий тур, а также те, у которых все три показателя такие же, как у занявшего последнее место среди этих \(10\%.\)
Примечание. Во всех случаях, когда вычисленное количество участников оказывается не целым, учитывается целая часть полученного числа.
Определите ID участника, занимающего в таблице первое место среди тех, кто прошёл в дополнительный отборочный тур, а также общее количество участников дополнительного отборочного тура.
Входные данные
Первая строка входного файла содержит целое число \(N\) (\(N \leqslant 10~000\)) – общее количество участников. Каждая из следующих \(N\) строк соответствует одному участнику и содержит \(11\) целых чисел, разделённых пробелами: сначала ID участника, затем – баллы, полученные им за каждый из \(10\) вопросов. Гарантируется, что ID участников не повторяются. В ответе запишите два целых числа: сначала требуемый ID, затем требуемое количество.
Участники викторины письменно отвечают на \(10\) вопросов различной сложности. За правильный ответ начисляется от \(1\) до \(5\) баллов в зависимости от сложности вопроса. За неверный ответ вычитается от \(1\) до \(5\) баллов. Участник может не отвечать на какой-то вопрос, в таком случае баллы за этот вопрос не начисляются.
По результатам викторины для каждого участника вычисляются три показателя:
В таблице результатов участники располагаются по убыванию первого показателя – суммы, при равенстве сумм – по убыванию второго показателя (плюсов), при равенстве сумм и плюсов – по убыванию третьего показателя (ответов). При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров.
В следующий тур проходят участники, занявшие места в первой четверти итоговой таблицы, а также те, у которых все три показателя такие же, как у занявшего последнее место в первой четверти таблицы.
Определите ID участника, занимающего в таблице первое место среди тех, кто не прошёл в следующий тур, а также количество участников, у которых все три показателя такие же, как у участника, занявшего в итоговой таблице 1700 место (включая самого этого участника).
Входные данные
Первая строка входного файла содержит целое число \(N\) (\(N \leqslant 10 000\)) – общее количество участников. Каждая из следующих \(N\) строк соответствует одному участнику и содержит \(11\) целых чисел, разделённых пробелами: сначала ID участника, затем – баллы, полученные им за каждый из \(10\) вопросов. Гарантируется, что ID участников не повторяются.
В ответе запишите два целых числа: сначала требуемый ID, затем требуемое количество.
Участники викторины письменно отвечают на \(10\) вопросов различной сложности. За правильный ответ начисляется от \(1\) до \(5\) баллов в зависимости от сложности вопроса. За неверный ответ вычитается от \(1\) до \(5\) баллов. Участник может не отвечать на какой-то вопрос, в таком случае баллы за этот вопрос не начисляются.
По результатам викторины для каждого участника вычисляются три показателя:
В таблице результатов участники располагаются по убыванию первого показателя – суммы, при равенстве сумм – по убыванию второго показателя (плюсов), при равенстве сумм и плюсов – по убыванию третьего показателя (ответов). При равенстве всех трёх показателей участники располагаются в итоговой таблице в порядке возрастания их личных номеров.
В следующий тур проходят участники, занявшие места в первой трети итоговой таблицы, а также те, у которых все три показателя такие же, как у занявшего последнее место в первой трети таблицы.
Определите ID участника, занимающего в таблице первое место среди тех, кто не прошёл в следующий тур, а также количество участников, у которых все три показателя такие же, как у участника, занявшего в итоговой таблице 1500 место (включая самого этого участника).
Входные данные
Первая строка входного файла содержит целое число \(N\) (\(N \leqslant 10 000\)) – общее количество участников. Каждая из следующих \(N\) строк соответствует одному участнику и содержит \(11\) целых чисел, разделённых пробелами: сначала ID участника, затем – баллы, полученные им за каждый из \(10\) вопросов. Гарантируется, что ID участников не повторяются.
В ответе запишите два целых числа: сначала требуемый ID, затем требуемое количество.
(Д. Бахтиев) В магазине «Бахтилэнд» на Светлую среду одновременно действуют две акции. Каждый товар характеризуется своей стоимостью и принадлежностью к категории, которая задаётся натуральным числом. Для применения акций товары разделяются по категориям следующим образом:
Магазин «Бахтилэнд» очень лоялен к своим посетителям, поэтому если после применения скидки стоимость получилось нецелой, то она округляется до ближайшего целого числа в меньшую сторону. Но если же количество товаров, на которые должна начислиться скидка, оказалось нецелым, то тут лояльность заканчивается и это количество округляется в меньшую сторону.
При условии, что все товары будут проданы, определите общую выручку магазина, а также абсолютное значение разности между суммой недополученной выручки (то есть суммой скидок, предоставленных покупателям) по первой и второй акциям по сравнению с ситуацией, когда все товары продавались бы по их первоначальной цене.
Входные данные.
Первая строка входного файла содержит натуральное число \(N\) — количество товаров (\(500 \leqslant N \leqslant 10~000\)). Далее следует \(N\) строк, каждая из которых содержит два натуральных числа:
Типовой пример организации данных во входном файле
\(7\)
\(80 \, 2\)
\(45 \, 2\)
\(50 \, 1\)
\(40 \, 8\)
\(34 \, 33\)
\(48 \, 7\)
\(100 \, 13\)
При таких исходных данных, при продажи всех товаров по первой акции магазин получит \(123\) рубля, а по второй — \(217\) рублей. Общая выручка — \(340\) рублей. При этом по первой акции недополученной выручкой будет \(42\) рубля \((165 - 123),\) а по второй \(15\) рублей \((232 - 217).\) Разность между недополученной выручкой по первой и второй акциям составила \(|42 - 15| = 27\) рублей. Ответ: \(340 \, 27.\)
Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов.
(Л. Шастин, Д. Бахтиев) В волшебном мире гладиаторов начался крупнейший турнир силы и стратегии. Участие принимают \(n\) гладиаторов, каждый из которых обладает определённым уровнем начальной силы. Каждый гладиатор хочет проявить себя на арене, но при этом стремится укрепить своего союзника и, конечно же, устранить соперников. Каждый гладиатор должен выбрать четыре цели: первая — другой гладиатор, которого он считает своим союзником: его гладиатор будет усилять с помощью волшебного дубликата силы. Вторая, третья и четвёртая цели — враги, с которыми гладиатор хочет сразиться поочерёдно в указанном им порядке. Перед началом турнира гладиаторы тянули карточки с уникальными числами от \(1\) до \(n.\) Эти числа и определяют порядок, в котором гладиаторы будут делать свои ходы.
Порядок хода очередного гладиатора следующий: сначала осуществляется помощь союзнику, в случае, если союзник ещё жив: уровень силы союзника увеличивается на уровень силы гладиатора, делающего ход. Затем идёт фаза сражений: гладиатор бросает вызов своим трём соперникам из списка, по одному за раз. Важно отметить, что если соперник уже мёртв, сражение пропускается. В бою побеждает тот, у кого уровень силы больше: Победитель теряет треть своей силы (оставшаяся сила округляется вверх до ближайшего целого в случае дробного числа), а проигравший погибает. Если же силы сражающихся гладиаторов равны, гладиаторы пронзают друг друга лучами добра и погибают вместе, держась за руки. Погибшие гладиаторы свой ход осуществлять уже не будут. К концу турнира нужно определить: сколько гладиаторов выбыли с арены и какой наибольший уровень силы остался у выживших гладиаторов.
Входные данные
В первой строке подаётся натуральное число \(n\) — количество гладиаторов (не более \(10~000\)). Далее в \(n\) строках записаны шесть чисел: Первое — уникальный номер гладиатора в соответствии с вытянутой карточкой, второе — начальный уровень силы гладиатора, третье — номер гладиатора, который был выбран в качестве союзника, остальные три числа — номера противников, с которыми желает сразиться гладиатор.
Выходные данные
Выведите два числа: общее количество павших гладиаторов, а затем конечный уровень силы, которую имеет сильнейший из оставшихся в живых гладиаторов (или \(0,\) если все выбыли).
Пример входных данных:
\(5\)
\(3 \, 50 \, 2 \, 1 \, 4 \, 5\)
\(5 \, 40 \, 1 \, 2 \, 3 \, 4\)
\(1 \, 37 \, 3 \, 2 \, 4 \, 5\)
\(4 \, 25 \, 5 \, 3 \, 1 \, 2\)
\(2 \, 50 \, 1 \, 5 \, 4 \, 3\)
При таких исходных данных выживет только гладиатор под номером \(3\) и у него останется \(39\) силы на конец турнира.
Ответ: \(4 \,\, 39\)
(Д. Бахтиев) Николай устроился работать гардеробщиком в крупнейший кинотеатр города. Всего в гардеробе доступно \(M\) мест. При покупке билетов на какой-либо сеанс, они резервируются на уникальный \(ID\) клиента, причём на один \(ID\) может быть зарегистрировано сразу несколько билетов. Каждый посетитель кинотеатра обязан сдать одежду в гардероб, при этом взаимодействовать с Николаем может только клиент, \(ID\) которого использован для покупки билетов. Если посетитель подходит к гардеробу впервые, он сдаёт одежду за себя и всю свою группу и получает столько номерков, за сколько человек одежда была сдана. При повторном визите посетитель забирает свою одежду и одежду своей группы, и номерки становятся свободными. Считается, что одежда развешивается и выдаётся моментально, то есть, если клиент подошёл в минуту \(t\) для получения одежды, то в минуту \(t\) этой одежды в гардеробе уже нет. Если клиент сдал одежду в минуту \(t,\) то всю минуту \(t\) одежда уже висит в гардеробе. Если несколько посетителей подошли в одно время, то они обслуживаются в порядке возрастания их \(ID.\) Если свободных номерков нет или их меньше, чем количество человек, которые хотят сдать одежду, то им отказывается в обслуживании, на что каждый клиент группы один раз злобно топает ножкой и моментально покидает кинотеатр, второй раз при этом они подходить не будут.
Определите и запишите в ответе сначала сколько клиентов за сутки недовольно топнут ножкой, а затем суммарную продолжительность времени, в течение которого в гардеробе были заняты все места.
Примечание: считается, что в момент открытия кинотеатра все места в гардеробе свободны.
Входные данные:
В первой строке входного файла записаны два числа \(N\) и \(K:\) \(N\) — общее количество мест в гардеробе; \(K\) — количество людей, на чьё имя были куплены билеты в кинотеатр. Далее следуют строки с информацией о посетителях кинотеатра за последние сутки. Каждая строка содержит три числа, разделённых пробелами:\(ID\) — уникальный идентификатор клиента; \(t\) — время подхода клиента к гардеробу в минутах от начала суток; \(M\) — количество билетов, оформленных на текущий \(ID.\) Гарантируется, что каждый идентификатор \(ID\) появляется в данных не более двух раз: первый раз — для сдачи одежды, второй раз — для её получения.
Типовой пример организации данных во входном файле>
\(5 \, 3\)
\(20 \, 15 \,4\)
\(4 \, 5 \, 2\)
\(1996 \, 28 \, 3\)
\(1996 \, 34 \, 3\)
\(20 \, 40 \, 4\)
\(4 \, 50 \, 2\)
Пример входного файла приведён для гардероба, имеющего \(5\) мест, и трёх клиентов. При таких исходных данных клиент с \(ID = 4\) получит \(2\) номерка, клиент с \(ID = 20\) не сможет разместить вещи в гардеробе, поэтому \(4\) посетителя топнут ножкой; клиент с \(ID = 1996\) получит \(3\) номерка и все \(5\) номерков гардероба в момент времени \(t = 28\) будут заняты до тех пор, пока этот же клиент при \(t = 34\) не заберёт вещи. Ответ:\(4 \, 6\)