| | | |
|
Роза ветров
Одномерные массивы
Алгоритмы обработки
При выборе места строительства жилого комплекса при металлургическом комбинате необходимо учитывать "розу ветров" (следует расположить жилой комплекс так, чтобы частота ветра со стороны металлургического комбината была бы минимальной). Для этого в течении года проводилась регистрация направления ветра в районе строительства. Данные представлены в виде массива, в котором направление ветра ветра за каждый день (365) кодируется следующим образом:
1 - северный (N),
2 - южный (S)
3 - восточный (E)
4 - западный (W)
5 - северо-западный (NW)
6 - северо - восточный (NE)
7 - юго-западный (SW)
8 - юго-восточный (SE).
Определить, как должен быть расположен жилой комплекс по отношению к комбинату
Входные данные:
В первой строке подается 365 значений от 1 до 8 (направление ветра)
Выходные данные:
Вывести соответствующие буквы (аббревиатуру - смотри список выше), с какой стороны следует построить жилой комплекс
| |
|
|
Оценка спортсмена
Одномерные массивы
В некоторых видах спортивных состязаний (например, в фигурном катании) выступление каждого спортсмена независимо оценивается восемью судьями, затем из всей совокупности оценок удаляются наиболее высокая и наиболее низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Если наиболее высокую оценку выставило несколько судей, то из совокупности оценок удаляется только одна такая оценка; аналогично поступают и с наиболее низкими оценками.
Известны оценки, выставленные восемью судьями одному из участников соревнований. Составить программу для расчета оценки, которая пойдет в зачет этому спортсмену.
Входные данные
В первой строке идут 8 чисел через пробел (каждое число от 0 до 10).
Выходные данные
Вывести оценку, которая пойдет в зачет спортсмену.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
3 9 7 8 9 5 7 10 |
7.5 |
| |
|
|
Самая толстая книга
Одномерные массивы
В массиве хранится информация о количестве страниц в каждой из 100 книг. Все страницы имеют одинаковую толщину. Определить количество страниц в самой толстой книге.
Входные данные
На вход подается строка, содержащая 100 натуральных чисел, разделенных пробелом. Каждое число не больше 500.
Выходные данные
Выведите на ответ на задачу.
Пример (для пяти книг)
Входные данные
20 40 10 53 30
Выходные данне
53
Пример дан для понимания организации входных данных
| |
|
|
Заполнение массива
Одномерные массивы
В первой строке дано неотрицательное число N- количество элементов массива (N<=100)
Во второй строке даны два числа: число А - значение первого элемента массива, число p - разница между следующим и предыдущим элементом массива (арифметическая прогрессия)
Заполнить массив элементами данной прогрессии и вывести его на экран
Пример входных и выходных данных
| № теста |
Входные данные |
Выходные данные |
| 1 |
5
7 3 |
7 10 13 16 19 |
| |
|
|
Заполнение массива - 3
Одномерные массивы
В первой строке дано неотрицательное число N- количество элементов массива (1<=N<=100)
Во второй строке даны два числа: число А - значение первого элемента массива, число p - частное от деления текущего элемента массива на следующий (геометрическая прогрессия) - p>0
Элементы массива дробные числа
Заполнить массив элементами данной прогрессии и вывести его на экран (все элементы выводятся на экран с точносью до 6 знаков после запятой)
ОБРАТИТЕ ВНИМАНИЕ: В задаче должен использоваться именно массив, а не просто вывод чисел на экран. Задача будет проверена вручную, после автоматической проверки!
Пример входных и выходных данных
| № теста |
Входные данные |
Выходные данные |
| 1 |
5
7 3 |
7.000000 2.333333 0.777778 0.259259 0.086420
|
| |
|
|
Заполнение массива - 2
Одномерные массивы
В первой строке дано неотрицательное число N- количество элементов массива (N<=100).
Во второй строке дано число b
Заполнить массив элементами равными частному от деления индекса элемента массива на число b. Элементы массива дробные числа
Пример входных и выходных данных
| № теста |
Входные данные |
Выходные данные |
| 1 |
5
3 |
0.000000 0.333333 0.666667 1.000000 1.333333 |
| |
|
|
Юнлинги
Одномерные массивы
На обучение в Орден Джедаев брали совсем юных, чувствительных к Силе, детей. Но бывали и исключения. На данном этапе обучения их называли "юнлингами". С группой юнлингов занимается один джедай, но когда они переходят в ранг падаванов, то к ним прикрепляется, индивидуально, один мастер-джедай.
На тренировках по прыжкам в высоту, для оценивания подготовки, выбираются пять лучших юнлингов для оценки. Каждый юнлинг ставит оценку от 1 до 20, после чего одна наименьшая и одна наибольшая оценки отбрасываются.
Вам нужно написать программу, которая будет демонстрировать результаты прыжка.
Она должна выводить пять оценок, которые поставили юнлинги, не меняя их порядка, а затем их сумму, и при этом брать в скобки те оценки, которые не учитываются при расчете суммы.
Входные данные
На вход подается 5 натуральных чисел от 1 до 20, разделенных пробелом.
Выходные данные
Выведите те же числа в том же порядке, взяв в скобки минимальное (а если их несколько – самое левое из них) и максимальное (а если их несколько – самое правое из них) число, а также сумму всех чисел, не взятых в скобки. Все числа (включая сумму) должны быть напечатаны в одной строке и разделены одним пробелом (внутри скобок пробелов быть не должно). Перед суммой должен стоять знак равенства, отделенный слева и справа одним пробелом. Порядок оценок должен быть такой же, как и во входных данных.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
1 2 3 4 5 |
(1) 2 3 4 (5) = 9 |
| |
|
|
Рыцари-джедаи
Одномерные массивы
«Звездные войны» - одна из самых известных фантастических саг, снятая Джорджем Лукасом, которая включает в себя 6 фильмов. Кроме фильмов, снято уже огромное количество сериалов, мультфильмов и игр.
Главные герои саги - рыцари-джедаи, которые управляют сверхъестественной силой и ловко орудуют световыми мечами.
Во вселенной «Звездных войн» джедаи возникли примерно за 25 тысяч лет до событий, описываемых в классической кинотрилогии. Они – звездные рыцари, защитники мира и справедливости в «очень далекой галактике». Свои способности они используют для защиты себя и других, но никогда – для нападения. Суть их жизни – в служении другим. Суть их пути – самосовершенствование через познание и каждодневную тренировку.
Для эффективности тренировки, Верховный Совет придумал следующее, чтобы как-то зарегулировать планы тренировок джедаев, велел он указать определенные дни, и в эти дни устраивать боевые тренировки, а в остальные дни медитировать.
Собрал Верховный Совет всех Учителей и приказал подготовить список дней, в которые можно устраивать боевые тренировки. Список необходимо было предоставить на N дней вперед.
Но вот незадача: каждый Учитель подготовил список, да еще и с указанием - какой вид боевой тренировки проводить. И у всех Учителей тренировки оказались важные, но у всех — разные! Верховный Совет решил объединить предложения всех Учителей! Если какой-то день есть в списке хотя бы одного Учителя, то в этот день проводится боевая тренировка.
Только одна проблема осталась: некоторые дни оказались в списках сразу у нескольких Учителей. Было решено перенести некоторые боевые тренировки на более поздние дни, так, чтобы в каждый день получалась только одна боевая тренировка, и переносы были бы, как можно короче.
Пусть, например, четыре Учителя сразу предложили сделать 5-й день - днем боевой тренировки. Тогда перенесем три из этих четырех дней 6, 7 и 8 — так, что днями боевой тренировки будут дни с 5 по 8, включительно. А если оказывается, что, например, день 7 тоже предложен в качестве боевой тренировки кем-нибудь из Учителей, то перенесем этот день еще дальше — на день 9.
Напишите программу, которая, зная предложения Учителей, определит, какие дни будут днями боевой тренировки, а какие днями медитации. Не забывайте, что дни боевой тренировки можно переносить только на более поздние дни; на более ранние переносить нельзя.
Входные данные
В первой строке задается одно число N — количество дней, на которые Верховный Совет хочет запланировать тренировки. Во второй строке - N неотрицательных целых чисел - для каждого дня указано, сколько Учителей предложили считать его днем боевой тренировки. Гарантируется, что \(1<=N<=100000\), и что сумма всех чисел во второй строке не превосходит 100000.
Выходные данные
Выведите одну строку, состоящую из символов “+” или “-”. “+” обозначайте день боевой тренировки, “-” - медитации. Выведите, как минимум, N символов - по одному для каждого из дней, на которые проводится планирование. Но если боевые тренировки приходится переносить на дни после N-го (что допустимо), то выведите больше символов - до последнего дня боевой тренировки. Символы разделяйте пробелами.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
0 3 0 0 0 |
- + + + - |
| 2 |
10
0 4 0 2 0 0 0 0 1 0 |
- + + + + + + - + - |
| 3 |
3
0 3 0 |
- + + + |
| |
|
|
Импульс силы
Одномерные массивы
В своих действиях джедаи используют Силу. Она описывается как энергетическое поле, которое создают все живые существа, которое связывает воедино все в галактике. По сути, это аналог китайской концепции ци. Есть у Силы и научная основа: в процессе «клеточного дыхания» происходят химические реакции, генерирующие электрический импульс, хоть и микроскопический.
Энергетический импульс можно измерить числом от 1 до 9. У каждого джедая, в зависимости от его силы и опыта, свой энергетический импульс. Энакин Скайуокер решил подсчитать, сколько джедаев с определенным энергетическим импульсом.
Напишите программу, которая автоматизирует данный подсчет.
Входные данные
На вход программы будет подаваться последовательность чисел, заканчивающаяся нулем (все числа вводятся в одной строке, через пробел). Всего будет введено не более 100000 чисел.
Выходные данные
Подсчитайте во входной последовательности количество единиц, количество двоек, количество троек и т.д. и выдайте результат. В выходных данных всегда должно быть 9 чисел.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
1 1 4 1 5 8 6 3 5 1 0 |
4 0 1 1 2 1 0 1 0 |
| |
|
|
Прыжки с переворотом
Одномерные массивы
С группой юнлингов занимается один джедай, но когда они переходят в ранг падаванов, то к ним прикрепляется, индивидуально, один мастер-джедай. Заметное отличие падавана - это косичка. Она заплеталась за правым ухом, а остальные волосы были аккуратно уложены.
Падаван сопровождал своего учителя во всех опасных миссиях в галактике. Но иногда мастер мог оставить своего ученика, если считал, что данное задание ему не по зубам.
Жили и тренировались падаваны не только в храме, но и в специальных академиях и звездных кораблях.
Бывали у падаванов и групповые тренировки. На групповых тренировках отрабатывались прыжки с переворотом. Смысл тренировки заключался в следующем: необходимо было в прыжке перевернуться и поменять свое положение таким образом, чтобы шеренга всех падаванов выстраивалась в обратном порядке.
Пронумеруем всех падаванов в шеренге натуральными числами 1, 2, 3, ..., N (\(1 <= N <= 1000\)).
Напишите программу, которая определит итоговое расположение падаванов после двух прыжков с переворотом. Сначала прыжки с переворотом делаются от падавана с номером A до падавана с номером B, а затем от C до D (\(A<B\); \(C < D\); \(1 <= A, B, C, D <= N\)).
Входные данные
Вводятся натуральные числа числа N, A, B, C, D.
Выходные данные
Требуется вывести полученную последовательность.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
9 2 5 6 9 |
1 5 4 3 2 9 8 7 6 |
| 2 |
9 3 6 5 8 |
1 2 6 5 8 7 3 4 9 |
| |
|
|
Приращение силы
Одномерные массивы
«Да пребудет с тобой Сила» — знаменитая фраза, которую, наверняка, слышали даже те, кто не интересуется вселенной «Звёздных войн».
Способность индивидуума управлять Силой напрямую зависит от уровня мидихлориан в его организме.
Пусть мы знаем силу каждого из N джедаев: A1, ..., AN.
Обозначим максимальное и минимальное значение силы, как max(A) и min(A), соответственно.
Вычислим общую силу всех джедаев S, S=A1+A2+…+AN.
Заменим силу каждого джедая на разницу S и этого элемента: Ai:=S-Ai, \(1<=i<=N\).
Такое преобразование назовем Приращением силы.
Напишите программу, которая по массиву B, полученному в результате K–кратного Приращения силы к некоторому списку сил джедаев, вычислит разность max(A)-min(A).
Входные данные
Первая строка содержит целые числа N и K, где N — количество элементов массива B (\(2 <= N <= 10000\)), а K — количество применений операции Приращения силы к начальному массиву A, \(1 <= K <= 100\).
Вторая строка содержит N элементов массива B. Элементы массива B — целые числа, принадлежащие диапазону от -2 000 000 000 до 2 000 000 000.
Выходные данные
Единственная строка выходного файла должна содержать целое число - разность max(A) и min(A).
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
4 2
45 52 47 46 |
7 |
| |
|
|
Кегельбан
Одномерные массивы
Хотите стать джедаем? Тогда приводим для вас кодекс рыцарей-миротворцев:
Нет волнения — есть покой
Нет невежества — есть знание
Нет страсти — есть безмятежность
Нет хаоса — есть гармония
Нет смерти — есть Сила
Кроме постоянных тренировок, падаваны все-таки имеют время на отдых и некоторые развлечения. Одно из любимых - это игра в Кегельбан.
N кеглей выставляют в один ряд, занумеровав их слева направо числами от 1 до N. Затем по этому ряду бросают K шаров, при этом i-й шар сбивает все кегли с номерами от li до ri включительно.
Ваша задача - определить, какие кегли остались стоять на месте.
Входные данные
Программа получает на вход количество кеглей N (1<=N<=100) и количество бросков K (1<=K<=10) Далее идет K пар чисел li, ri, при этом \(1<=l_i<=r_i<=N\).
Выходные данные
Программа должна вывести последовательность из N символов, где j-й символ есть “I”, если j-я кегля осталась стоять, или “.”, если j-я кегля была сбита.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
10 3
8 10
2 5
3 6 |
I.....I... |
| |
|
|
Повернем массив
Одномерные массивы
Дана квадратная матрица. Поверните его на 90 градусов по часовой стрелке. Результат запишите в этот же массив, вспомогательный массив использовать нельзя.
Формат входных данных
Вводится одно число n - размер квадратного массива (n <=10), а затем сам массив размером nхn.
Формат выходных данных
Выведите матрицу, получившуюся после преобразования.
| |
|
|
Симметричная последовательность
Одномерные массивы
Последовательность чисел назовем симметричной, если она одинаково читается как слева направо, так и справа налево. Например, следующие последовательности являются симметричными:
1 2 3 4 5 4 3 2 1
1 2 1 2 2 1 2 1
Вашей программе будет дана последовательность чисел. Требуется определить, какое минимальное количество и каких чисел надо приписать в конец этой последовательности, чтобы она стала симметричной.
Входные данные
Сначала вводится число N — количество элементов исходной последовательности (1 ≤ N ≤ 100). Далее идут N чисел — элементы этой последовательности, натуральные числа от 1 до 9.
Выходные данные
Выведите сначала число M — минимальное количество элементов, которое надо дописать к последовательности, а потом M чисел (каждое — от 1 до 9) — числа, которые надо дописать к последовательности.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
9
1 2 3 4 5 4 3 2 1 |
0 |
| 2 |
5
1 2 1 2 2 |
3
1 2 1 |
| 3 |
5
1 2 3 4 5 |
4
4 3 2 1 |
| |
|
|
Будильники
Условный оператор
Одномерные массивы
Дата и время
Перебор
Будильник в сотовом телефоне можно настроить так, чтобы он звонил каждый день в одно и то же время, либо в указанное время в определенный день недели. Независимо можно настроить несколько будильников.
По информации о будильниках и текущему времени и дню недели определите, когда прозвонит очередной будильник.
Входные данные
В первой строке вводятся три числа, задающие текущее время: день недели (от 1 до 7), часы и минуты.
Во второй строке вводится одно натуральное число N, не превосходящее 100 – количество будильников.
В следующих N строках вводятся описания N будильников. Описание каждого будильника состоит из трех чисел: дня недели (число от 1 до 7 для понедельника, …, воскресенья, соответственно, 0 – если будильник должен звонить каждый день), часов (от 0 до 23), минут (от 0 до 59).
Выходные данные
Выведите через пробел три числа, задающие день недели, часы и минуты, когда прозвонит ближайший будильник.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснение |
| 1 |
2 10 20
2
1 23 15
0 10 10 |
3 10 10 |
|
| 2 |
7 1 1
3
7 0 59
7 23 59
7 1 1 |
7 1 1 |
Во втором примере третий будильник будет звенеть в начальный момент времени. |
| |
|
|
Прыжки с трамплина
Одномерные массивы
Условный оператор
На соревнованиях по прыжкам на лыжах с трамплина техника прыжка оценивается пятью судьями. Каждый судья ставит оценку от 1 до 20, после чего одна наименьшая и одна наибольшая оценки отбрасываются. Вам нужно написать программу, которая будет демонстрировать результаты прыжка для телетрансляции.
Она должна выводить пять оценок, которые поставили судьи, не меняя их порядка, а затем их сумму, и при этом брать в скобки те оценки, которые не учитываются при расчете суммы
Входные данные
На вход подается 5 натуральных чисел от 1 до 20, разделенных пробелом.
Выходные данные
Выведите те же числа в том же порядке, взяв в скобки минимальное (а если их несколько – самое левое из них) и максимальное (а если их несколько – самое правое из них) число, а также сумму всех чисел, не взятых в скобки. Все числа (включая сумму) должны быть напечатаны в одной строке и разделены одним пробелом (внутри скобок пробелов быть не должно). Перед суммой должен стоять знак равенства, отделенный слева и справа одним пробелом. Порядок оценок должен быть такой же, как и во входных данных.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
1 2 3 4 5 |
(1) 2 3 4 (5) = 9 |
| 2 |
10 11 10 11 10 |
(10) 11 10 (11) 10 = 31 |
| |
|
|
Золотые слитки
Целые числа
Одномерные массивы
Дано N золотых слитков. Требуется распилить не более одного из них на две части (не обязательно равные, но с целой массой), после чего разделить слитки на две кучи равной массы.
Входные данные
В первой строке вводится одно натуральное число N, не превосходящее 100.
Во второй строке через пробел вводятся N натуральных чисел, не превосходящих 100 - массы имеющихся слитков.
Выходные данные
Выведите массы слитков, которые вошли в первую кучку (включая массу части распиленного слитка).
Если решений несколько, выведите любое из них.
Если решений нет, выведите фразу NO SOLUTION (заглавными буквами).
Выводить массы можно в произвольном порядке, но масса части распиленного слитка (если таковой имеется) должна быть последней.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
5 5 5 |
NO SOLUTION |
| 2 |
4
1 2 3 8 |
1 2 3 1 |
| |
|
|
Билеты на Сапсан
Одномерные массивы
Саша и Лиза — две самые обычные девочки, которые живут в Москве и очень любят Санкт-Петербург. На каникулы они запланировали обширную экскурсионную программу в северной столице, осталось только купить билеты. Девочки знают, что быстрее всего добраться до Санкт-Петербурга можно на скоростном поезде «Сапсан». В каждом вагоне есть N рядов, в каждом из которых по 4 места, которые нумеруются так:

Саша и Лиза выбрали вагон, в котором они планируют ехать. Оказалось, что в этом вагоне уже продано M билетов и известно, какие места уже заняты. Девочки решили купить билеты таким образом:
- если есть два места рядом, то они покупают их (например, 1 и 2 или 3 и 4)
- если двух мест рядом нет, то они пытаются купить места рядом через проход (например, 2 и 4)
- если нет и таких мест, то они покупают любые два свободных места.
Помогите Саше и Лизе определить, какие места им стоит купить. Гарантируется, что в выбранном вагоне есть как минимум два свободных места.
Входные данные
В первой строке входных данных содержатся числа N — количество рядов в вагоне (1 ≤ N ≤ 105) и M — количество проданных билетов (1 ≤ M ≤ 4N - 2). В следующей строке записаны M различных чисел — номера мест, на которые билеты уже проданы.
Выходные данные
Выведите два числа — номера мест, билеты на которые стоит купить девочкам. Если возможны несколько вариантов ответа, выведите любой из них.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
2 3
3 7 8 |
5 6 |
| 2 |
2 5
1 4 5 2 7 |
6 8 |
| 3 |
2 5
2 7 4 5 6 |
1 3 |
| |
|
|
Метро
Одномерные массивы
Условный оператор
Ваня не очень-то любит людей, но, к сожалению, ему иногда все-таки приходится ездить на метро. В таких случаях ему помогают две вещи: наушники с любимыми «Scoprions» и правильно выбранное место. Поскольку Ваня хочет быть как можно дальше от всех людей, правильным местом считается такое место, расстояние от которого до ближайшего из соседей будет максимально возможным в вагоне. В вагоне N мест и они все расположены вдоль одной стены, причем вход в вагон находится у места с номером 1. Места идут подряд, без пропусков. Ваня понимает, что иногда правильных мест может быть несколько, и хочет сесть на ближайшее ко входу правильное место (то есть правильное место с минимальным номером).
Угадайте, какое место в вагоне займет Ваня.
Входные данные
В первой строке записано число N (1 ≤ N ≤ 105). В следующей строке через пробел записаны N чисел — 0 или 1. Число 0 обозначает свободное место, 1 — занятое; места нумеруются слева направо. Гарантируется, что хотя бы одно место свободно.
Выходные данные
Выведите номер места, на которое Ваня сядет.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
8
1 0 1 0 0 1 0 1 |
2 |
| 2 |
7
0 1 0 0 0 1 0 |
4 |
| 3 |
4
0 0 0 1 |
1 |
| |
|
|
Пробка
Одномерные массивы
Условный оператор
В один из летних дней Аркадий со своими родителями отправился в автомобильное путешествие. Он очень надеялся, что за городом им удастся избежать ненавистных пробок. Но, увы, уже через час они попали в затор. Аркадий загрустил и задумался о том, с какой скоростью они могли бы ехать, если бы не было пробки... Участок дороги, на котором они сейчас находятся, — однополосный. А это значит, что обгонять едущие впереди машины не представляется возможным. Т. е. какой бы мощной машина ни была, она все равно не сможет ехать быстрее, чем машина впереди неё. Аркадий хорошо разбирается в машинах и поэтому знает максимальные скорости тех машин, которые едут впереди. Теперь он хочет понять, с какой максимальной скоростью могла бы ехать каждая машина на данном участке.
Входные данные
В первой строчке дано число N (1 ≤ N ≤ 200) — количество машин в пробке. В следующих N строчках записано по одному целому числу в каждой, причем в i-й строчке записана скорость i-й машины. Скорость каждой из машин не превышает 300. Считается, что (i + 1)-я машина едет за i-й, а первая машина может ехать со своей максимальной скоростью.
Выходные данные
Выведите N чисел — скорости машин, с которыми они могли бы ехать на данном участке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
2
80
100 |
80 80 |
| |
|
|
Водопады
Одномерные массивы
Условный оператор
Недавно дядя Фёдор прочитал в журнале «Мурзилка», что самый высокий водопад в мире — это водопад Анхель, высота которого составляет 1054 метра. «Вот было бы здорово посмотреть на такой водопад!», — размечтался он.
Но Венесуэла далеко, поэтому пока дядя Фёдор решил начать с исследования речки Сметанки, которая течет рядом с Простоквашино. Она начинается в холмах и постепенно спускается вниз, к деревне. Дядя Фёдор вместе с Шариком прошли вдоль всего течения Сметанки от ее истока. Иногда по пути им встречались водопады. Как дядя Фёдор узнал из той статьи в «Мурзилке», водопадом считается участок реки с постоянным углом наклона, превышающим 45 градусов, то есть такой участок, высота которого больше его длины.
Уже после путешествия, раз за разом перерисовывая карту Сметанки на бумагу, дядя Фёдор заметил, что если нарисовать вид Сметанки сбоку (то есть чем выше нарисована точка — тем выше она над уровнем моря, а чем правее — тем дальше она от истока и ближе к Простоквашино), то получается невозрастающая ломаная, которую очень легко анализировать. Каждый отрезок этой ломаной — это как раз участок реки с постоянным углом наклона, который может оказаться водопадом!
Проведя несколько вечеров за изучением карты Сметанки, дядя Фёдор вспомнил, что кроме водопадов бывают еще и каскады водопадов. Каскадом водопадов называется один или несколько идущих подряд водопадов. Высота каскада — это разница между высотами самой верхней и самой нижней точек, принадлежащих этому каскаду.
Теперь дяде Фёдору стало интересно, а какова высота самого высокого каскада водопадов на Сметанке? Помогите ему: по описанию реки, сделанному Шариком и дядей Фёдором, найдите это число.
Входные данные
В первой строке вводится число n (2<=n<=105 ) — количество вершин ломаной, описывающей речку Сметанку. В следующих n строках перечислены координаты этих точек, в i-й строчке записаны числа xi и yi — расстояние от точки до истока по горизонтали и высота точки над уровнем моря (0xi<=109, yi<=109 ). Точки перечислены начиная от истока реки, то есть начиная с точки, x-координата которой равна нулю, а y-координата — максимальная среди всех точек. Гарантируется, что река течет сверху вниз и слева направо, то есть каждая следующая точка находится не выше и не левее предыдущей.
Выходные данные
Выведите одно целое число: высоту самого высокого каскада водопадов на этой реке. Если на реке на самом деле нет водопадов, выведите 0.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
0 15
1 10
5 5 |
10 |
| |
|
|
Мама, я диспетчер!
Одномерные массивы
Максим вырос, разочаровался в большой науке и теперь работает авиадиспетчером. Каждый день он делает очень важное и ответственное дело: сажает самолеты.
Этот процесс не такой уж сложный, как может показаться на первый взгляд. В аэропорту, в котором работает Максим, всего одна посадочная полоса, поэтому самолеты должны садиться по очереди. Посадка занимает 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 |
| |
|
|
Подборка новостей
Одномерные массивы
Игорь читает новостную ленту в своей любимой социальной сети, состоящую из 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 волшебных конфет. Каждая конфета характеризуется её вкусом — целым числом ti . Удовольствие , которое получит Гарри от набора конфет — это сумма вкусов всех конфет в этом наборе. Обратите внимание, что вкусы конфет, как и удовольствие Гарри, не обязательно должны быть положительными.
У Гермионы есть огромная коробка с конфетами, в которой для каждого целого числа t от - 109 до 109 лежит ровно одна конфета со вкусом t . Гермиона хочет взять из этой коробки n конфет, из которых будет состоять набор для Гарри.
Гермиона хочет, чтобы Гарри получил от подаренного ему набора конфет удовольствие, в точности равное целому числу s . Помогите ей выбрать подходящий набор или определите, что это невозможно.
Входные данные
Первая строка входных данных содержит единственное целое число n ( 1 ≤ n ≤ 100 ) — количество конфет, которое хочет Гермиона положить в набор. Вторая строка входных данных содержит единственное целое число s ( - 109 ≤ s ≤ 109 ) — удовольствие, которое должен получить Гарри от набора.
Выходные данные
Если составить желаемый набор из имеющихся у Гермионы конфет невозможно, выведите « NO ». Иначе, в первой строке выведите « YES », а во второй строке в произвольном порядке n чисел — вкусы конфет в искомом наборе. Если правильных ответов несколько, выведите любой из них.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
10 |
YES
500000000 -500000000 10 |
| |
|
|
Мне только справочку!
Одномерные массивы
У доктора Риты сегодня трудный рабочий день, и она ушла на обеденный перерыв. За это время к ее кабинету выстроилась очередь из 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 банок с конфетами. Банки пронумерованы от 1 до n , в i -й из них лежит a i конфет. Карлсон считает набор банок симпатичным , если в этом наборе нет трех банок с разным числом конфет.
У Карлсона есть неограниченный запас конфет в карманах, поэтому он может добавить в любую банку произвольное число конфет. Помогите ему определить, какое минимальное общее число конфет ему придется добавить, чтобы набор банок с конфетами стал симпатичным.
Входные данные
Первая строка входных данных содержит натуральное число n ( 1 ≤ n ≤ 105 ) — количество банок в наборе Карлсона.
Вторая строка входных данных содержит n целых чисел ai ( 0 ≤ ai ≤ 109 ) — число конфет в банках. Соседние числа отделены друг от друга одним пробелом.
Выходные данные
Выведите одно число — минимальное общее количество конфет, которое придется добавить, чтобы Карлсон считал набор банок симпатичным.
Примечание
В первом тесте из примера Карлсон может добавить в первую банку две конфеты, а во вторую банку — одну конфету. Тогда в первой и четвертой банках будет лежать по 7 конфет, а во второй и третьей — по 2 конфеты.
Во втором тесте из примера набор банок исходно является симпатичным, добавлять конфеты не требуется.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
5 1 2 7 |
3 |
| 2 |
3
1 1 1 |
0 |
| |
|
|
Лавочки
Одномерные массивы
Условный оператор
Лавочки в парке устроены следующим образом. Несколько одинаковых кубических гранитных блоков ставятся в ряд, а на них кладется гранитная плита (см. рисунок). Архитектор-модернист решил, что будет интереснее, если у всех лавочек расположение гранитных блоков-ножек будет разным (и не обязательно симметричным). При этом они располагаются так, чтобы плита не падала: для этого достаточно, чтобы и слева, и справа от центра плиты был хотя бы один гранитный блок или его часть (в частности, если центр плиты приходится на середину какого-нибудь блока, то и слева, и справа от центра плиты находится часть блока, и плита не падает).
Грабители обнаружили, что можно по одному вытаскивать гранитные блоки, находящиеся с краю (как слева, так и справа). Они хотят вытащить из-под лавочки как можно больше блоков так, чтобы она при этом не упала (передвигать оставшиеся блоки нельзя). Определите, какие блоки они должны оставить.

Входные данные
В первой строке входных данных содержатся два числа: L - длина лавочки и K - количество гранитных блоков-ножек. Оба числа натуральные и не превышают 10 000.
Во второй строке следуют K различных целых неотрицательных чисел, задающих положение каждой ножки. Положение ножки определяется расстоянием от левого края плиты до левого края ножки (ножка - это куб размером 1×1×1). Ножки перечислены слева направо (то есть начиная с ножки с меньшим расстоянием до левого края).
Выходные данные
Требуется перечислить ножки, которые грабителям нужно оставить. Для каждой ножки нужно выдать ее положение, как оно задано во входных данных. Ножки следует перечислять слева направо, в том порядке, в котором они встречаются во входных данных.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 2
0 2 |
2 |
| 2 |
13 4
1 4 8 11 |
4 8 |
| 3 |
14 6
1 6 8 11 12 13 |
6 8 |
| |
|
|
Дома и магазины
Одномерные массивы
Циклы
На Новом проспекте построили подряд 10 зданий. Каждое здание может быть либо жилым домом, либо магазином, либо офисным зданием.
Но оказалось, что жителям некоторых домов на Новом проспекте слишком далеко приходится идти до ближайшего магазина. Для разработки плана развития общественного транспорта на Новом проспекте мэр города попросил вас выяснить, какое же наибольшее расстояние приходится преодолевать жителям Нового проспекта, чтобы дойти от своего дома до ближайшего магазина.
Входные данные
Программа получает на вход десять чисел, разделенных пробелами. Каждое число задает тип здания на Новом проспекте: число 1 обозначает жилой дом, число 2 обозначает магазин, число 0 обозначает офисное здание. Гарантируется, что на Новом проспекте есть хотя бы один жилой дом и хотя бы один магазин.
Выходные данные
Выведите одно целое число: наибольшее расстояние от дома до ближайшего к нему магазина. Расстояние между двумя соседними домами считается равным 1 (то есть если два дома стоят рядом, то между ними расстояние 1, если между двумя домами есть еще один дом, то расстояние между ними равно 2 и т.д.)
Примеры
| № |
Входные данные |
Выходные данные |
Пояснение |
| 1 |
2 0 1 1 0 1 0 2 1 2 |
3 |
В примере из условия дальше всего идти до ближайшего магазина жителям четвертого дома: ближайший к их дому магазин находится в первом доме, и им нужно пройти три дома до него. Жителям других домов придется пройти меньшее расстояние до ближайшего магазина, поэтому ответ 3. |
| |
|
|
Блины
Цикл while
Одномерные массивы
Циклы
Мы все знаем, что начавшаяся зима скоро закончится, и на праздновании Масленицы все будут есть блины. Об этом и будет наша задача.
N гостей сидят за столом, и перед каждым стоит тарелка с блинами. На тарелке i-го гостя лежит ai блинов. Каждый гость съедает один блин за одну минуту, таким образом, время, когда закончит есть блины последний человек, равно наибольшему значению из ai.
Неожиданно к ним присоединился ещё один человек, и теперь все присутствующие могут переложить часть своих блинов (в том числе могут переложить все свои блины, а могут не перекладывать ни одного блина) вновь пришедшему человеку. Перекладывание блинов происходит одновременно и моментально.
Гости хотят переложить блины таким образом, чтобы после перекладывания они съели все блины за минимальное время (которое равно наибольшему числу блинов на тарелках у гостей, включая нового гостя). Определите, за какое наименьшее время гости смогут съесть свои блины после перекладывания.
Программа получает на вход натуральное число N, не превосходящее 100.000, – первоначальное количество гостей. Следующие N строк содержат натуральные числа ai – количество блинов на тарелке i-го человека. Значения ai даны в порядке неубывания, то есть ai ≤ ai+1. Сумма значений всех ai не превосходит 2·109.
Программа должна вывести одно целое число – минимальное время, за которое все гости закончат есть свои блины после перекладывания части блинов на тарелку нового гостя.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснение |
| 1 |
4
1
3
5
6 |
4 |
За столом сидят 4 человека, у них на тарелках 1, 3, 5, 6 блинов. Новому гостю последний гость отдаст 2 блина, а предпоследний – 1 блин, и тогда у всех, включая нового гостя, будет не более 4 блинов. |
| |
|
|
Ка-штаны
Одномерные массивы
Как известно, обычно штаны состоят из двух штанин. Однако собачке нужны, например, уже штаны из 5 штанин (для 4-х лап и хвоста), а сороконожке – штаны с 40 штанинами.
У Пети живет Зверь, у которого M лап. Иногда – когда на улице особенно холодно, чтобы Зверь не простудился, на него бывает нужно надеть несколько штанов, чтобы на каждой лапе было надето по несколько штанин.
Петина мама оставила Пете N штанов, имеющих соответственно K1, K2, …, KN штанин, наказав ему надеть на Зверя их все. Петя хочет надеть на Зверя штаны так, чтобы на самой «утепленной» лапе оказалось как можно меньше штанин, но при этом все оставленные мамой штаны были надеты на зверя. Любые штаны можно надевать на любой набор лап (каждая лапа встречается в наборе не более одного раза).
Помогите ему – напишите программу, которая для каждых штанов укажет, на какие лапы должны быть надеты их штанины. Имейте в виду, что две штанины одних и тех же штанов не могут быть надеты на одну и ту же лапу (в то время как штанины разных штанов могут быть надеты на одну и ту же лапу).
Входные данные
Вводится сначала число M, а затем число N (1 ≤ M ≤ 100, 1 ≤ N ≤ 100). Далее вводятся N чисел Ki, обозначающих число штанин у оставленных мамой штанов (1 ≤ Ki ≤ M).
Выходные данные
Выведите N строк, в i-ой строке должно быть выведено Ki различных чисел, обозначающих номера лап Зверя, на которые должны быть надеты штанины i-ых штанов. Лапы Зверя нумеруются натуральными числами от 1 до M. Если искомых ответов несколько, то выведите любой из них.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснение |
| 1 |
4 3
1 2 3 |
1
1 2
2 3 4 |
Первые штаны надеты на лапу 1;
вторые штаны надеты на лапы 1 и 2;
третьи штаны надеты на лапы 2, 3 и 4.
Таким образом, на самых «утепленных» лапах (а это лапы 1 и 2) надето по 2 штанины. |
| 2 |
4 2
3 2 |
1 2 3
4 1 |
Первые штаны надеты на лапы 1, 2 и 3;
вторые штаны надеты на лапы 1 и 4.
Таким образом, количество штанов на самой «утепленной» лапе (это лапа номер 1) – 2. |
| |
|
|
Черепахи
Одномерные массивы
Множества
Широко известна следующая задача для младших школьников. Три черепахи ползут по дороге. Одна черепаха говорит: “Впереди меня две черепахи”. Другая черепаха говорит: “Позади меня две черепахи”. Третья черепаха говорит: “Впереди меня две черепахи и позади меня две черепахи”. Как такое может быть? Ответ: третья черепаха врет!
По дороге одна за другой движутся N черепах. Каждая черепаха говорит фразу вида: “Впереди меня ai черепах, а позади меня bi черепах”. Ваша задача определить самое большое количество черепах, которые могут говорить правду.
Входные данные
В первой строке вводится целое число N (1 ≤ N ≤ 10000) . Далее следуют N строк, содержащих целые числа ai и bi, по модулю не превосходящие 10000, описывающие высказывание i-ой черепахи.
Данные о высказываниях черепах приведены в произвольном порядке, то есть первое высказывание не обязательно соответствует черепахе, идущей во главе колонны, второе - не обязательно следующей за ней и так далее
Выходные данные
Выведите целое число M – максимальное количество черепах, которые могут говорить правду.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
2 0
0 2
2 2 |
2 |
| |
|
|
Повторяющиеся элементы массива
Одномерные массивы
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
Пусть mass - статический одномерный массив целых чисел из десяти элементов.
Ваша задача - вывести количество повторяющихся элементов в mass.
Формат входных данных
В единственной строке вводятся 10 чисел.
Формат выходных данных
Выведите одно число - количество дубликатов (повторяющихся элементов) в mass.
Примеры
| Стандартный ввод |
Стандартный вывод |
| 0 1 2 3 4 5 6 7 8 9 |
0 |
| 0 0 4 4 4 12 12 30 40 40 |
5 |
| |
|
|
Конфеты и коробки
Цикл for
Одномерные массивы
Перебор
В ряд расположены N ящиков. Изначально в i-м ящике слева находится ai конфет. Громозека выбирает ящик, содержащий хотя бы одну конфету, и съедает одну из конфет в выбранном ящике.Он может выполнять это действие любое количество раз. Его цель добиться того, чтобы в любых двух соседних коробках содержалось не более x конфет.
Найдите минимальное количество операций, необходимых для достижения цели Громозеки.
Входные данные
В первом строке задается два числа N (\(2<=N<=10^5\)) и x (\(0<=x<=10^9\)). Во второй строке содержится N целых чисел ai (\(0<=a_i<=10^9\)).
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснения |
| 1 |
3 3
2 2 2 |
1 |
Необходимо съесть одну конфету во второй коробке. Тогда количество конфет в каждой коробке станет (2,1,2). |
| 2 |
6 1
1 6 1 2 0 4 |
11 |
Например, можно съесть шесть конфет во второй коробке, две в четвертой и три в шестой. Тогда количество конфет в каждой коробке станет (1,0,1,0,0,1). |
| 3 |
5 9
3 1 4 1 5 |
0 |
Цель уже достигнута |
| 4 |
2 0
5 5 |
10 |
Все конфеты должны быть съедены. |
| |
|
|
Набор с максимальной средней суммой
Одномерные массивы
Дан набор из N элементов. Значение i-го элемента (\(1<=i<=N\)) равно vi. Из данного набора выбирается не менее A и не более B элементов. Найти максимально возможное среднее арифметическое значений выбранных элементов. Кроме того, найти количество способов выбора элементов, чтобы среднее значение выбранных элементов было максимальным.
Входные данные
В первой строке задается три целых числа через пробел: N (\(1<=N<=50\)), A и B (\(1<=A,B<=N\)). В следующих N строках записаны целые числа vi (\(1<=v_i<=10^{15}\)), по одному числу в строке.
Выходные данные
Выведите две строки.
Первая строка должна содержать максимально возможное среднее арифметическое значений выбранных элементов. Вывод следует считать правильным, если абсолютная или относительная погрешность не превышает \(10^{-6}\).
Вторая строка должна содержать количество способов выбора элементов, чтобы среднее значение выбранных элементов было максимальным.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснения |
| 1 |
5 2 2
1 2 3 4 5 |
4.500000
1 |
Среднее значение выбранных элементов будет максимальным при выборе четвертого и пятого элементов. Следовательно, первая строка вывода должна содержать 4.5.
Нет другого способа выбрать элементы, чтобы среднее значение было 4,5, и поэтому вторая строка вывода должна содержать 1. |
| 2 |
4 2 3
10 20 10 10 |
15.000000
3 |
Может быть несколько способов выбора элементов, чтобы среднее значение было максимальным. |
| 3 |
5 1 5
1000000000000000 999999999999999 999999999999998 999999999999997 999999999999996 |
1000000000000000.000000
1 |
|
| |
|
|
Циклический сдвиг вправо
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов (N<=100)
Напишите программу, которая осуществляет циклический сдвиг вправо элементов, стоящих на четных местах (нумерация элементов начинается с 0)
Входные данные
В первой строке вводится значение N. Далее во второй строке, вводится N чисел
Выходные данные
Вывести все элементы преобразованного массива.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5
|
5 2 1 4 3
|
| |
|
|
Выбрать по делителям
Одномерные массивы
Дан массив чисел. Необходимо записать в другой массив все трёхзначные числа исходного списка, которые делятся на K и не делятся на M .
Входные данные
Первая строка содержит количество чисел - N . Во второй строке через пробел задаются N чисел – элементы массива (положительные целые числа не более 105). Гарантируется, что 0 < N <= 10000 . В третьей строке через пробел записаны два числа – K (1 < K <= 100) и M (1 <= M <= 100).
Выходные данные
Программа должна вывести в одну строчку все элементы нового массива, разделяя их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
28 204 103 804 105 106
2 3 |
106 |
| |
|
|
Использование сортировки 2
Одномерные массивы
Квадратичные сортировки
В каждом из двух классов учатся по n человек (10 <= n <= 30). Известны средний балл каждого ученика каждого класса, подсчитанные по ряду предметов (все значения целые). Определить, в каком классе у "третьего из самых успевающих учеников" средняя оценка больше. Вывести цифру "1" - для первого класса, "2" - для второго. Если оценки равны, вывести эту оценку.
Формат входных данных
В первой строке записано натуральное число n (n < 100) - количество учеников в каждом классе . Вторая строка содержит n положительных целых чисел class1i - средний балл i-го ученика первого класса (1 ≤ i ≤ n, 1 ≤ class1i ≤ 105). Третья строка содержит n положительных целых чисел class2i - средний балл i-го ученика первого класса (1 ≤ i ≤ n, 1 ≤ class2i ≤ 105).
Формат выходных данных
Выведите ответ на задачу.
| |
|
|
1875
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов (2<=N<=15). Удалить из него все элементы, оканчивающиеся на 0
Формат входных данных:
На входе подаются в первой строке N - число элементов массива
Вторая строка содержит N чисел - значения элементов массива
Формат выходных данных: Выведите результирующий массив в строку
Пример:
Ввод
5
43 -50 76 -84 100
Вывод
43 76 -84
| |
|
|
На нечетной стороне
Одномерные массивы
Известно число жителей, проживающих в каждом доме улицы. Нумерация домов идет подряд, начинается с 1. Дома с нечетными номерами расположены на одной стороне улицы, с четными на другой. Определите, сколько человек живет на нечетной стороне улицы.
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (каждое число не более 1000).
Выходные данные
Выведите одно число - количество человек, которые живут на нечетной стороне улицы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
202 103 454 287 282 238
|
938 |
| |
|
|
6009
Одномерные массивы
Дано неотрицательное число N (0<N<=999999)
Заполнить массив его цифрами, расположенными в обратном порядке (первый элемент равен последней цифре, второй - предпоследней и т.д.).
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
15423 |
3 2 4 5 1 |
| |
|
|
7148
Одномерные массивы
Дан массив. Определить количество максимальных элементов в массиве
В первой строке задается количество элементов массива (не более 100)
Во второй строке вводятся элементы массива
| |
|
|
Пара с одинаковыми знаками
Одномерные массивы
Дан массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара соседних элементов с одинаковыми знаками.
Входные данные
Сначала задано число N — количество элементов в массиве (1 ≤ N ≤ 10000). Далее через пробел записаны N ненулевых чисел - элементы массива. Массив состоит из целых чисел.
Выходные данные
Необходимо вывести слово YES, если существует пара соседних элементов с одинаковыми знаками. В противном случае следует вывести слово NO.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 -3 4 -2 1 |
NO |
| |
|
|
6000
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив элементами по следующему правилу и вывести его на экран в одну строчку через пробел:
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
1 4 9 16 25 |
| |
|
|
10385
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов. Удалять элементы в начале и в конце до тех пор, пока сумма массива не будет кратна 5 (сначала первый, затем последний и т.д.).
В первой строке вводится число N (1<=N<=15) - количество элементов одномерного массива
Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры)
Пример входных и выходных данных
| № теста |
Входные данные |
Выходные данные |
| 1 |
4
2 6 4 5 |
6 4 |
| |
|
|
Первый с минимальной премией
Одномерные массивы
В массиве хранится информация о годовой премии у N сотрудников фирмы. Определить порядковый номер первого сотрудника с самой низкой годовой премией.
Входные данные
В первой строке задается число N - количество сотрудников фирмы (0<N<=50). Во второй строке задаются значения премий N сотрудников фирмы (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер первого сотрудника с минимальной премией.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
4 3 5 5 3 |
2 |
| |
|
|
7151
Одномерные массивы
Перебор
Известны очки (3, 1 или 0), полученные футбольной командой за ряд игр в порядке их проведения. Известно, что команда как минимум одну игру выиграла и как минимум одну игру проиграла.
Что было раньше: первый выигрыш (3 очка) или первый проигрыш (0 очков)?
В первой строке вводится количество проведенных командой игр (не менее 2 и не более 15).
Во второй строке вводятся очки за каждую проведенную игру.
Если выигрыш встретился раньше, то вывести слово WIN.
Если проигрыш встретился раньше, то вывести слово LOSE.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
1 0 1 3
|
LOSE
|
| |
|
|
Последний в гонках
Одномерные массивы
В массиве хранится информация о результатах 25 спортсменов (секунды), участвовавших в лыжной гонке. Определить результат спортсмена пришедшего последним к финишу.
Входные данные
На вход подается строка, содержащая 25 натуральных чисел, разделенных пробелом. Каждое число не больше 250.
Выходные данные
Выведите на ответ на задачу.
| |
|
|
Четные индексы
Одномерные массивы
Дан массив, состоящий из N целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива с четными индексами (0, 2, 4...).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N целых исел — элементы массива.
Выходные данные
Необходимо вывести все элементы массива с чётными индексами.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
4 5 3 4 2 3 |
4 3 2 |
| |
|
|
6006
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив из N элементов первыми натуральными пятизначными числами, сумма цифр которых есть двузначное число
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
10009 10018 10019 10027 10028 |
| |
|
|
1878
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N положительных элементов, больших 1 (2<=N<=100). Вставить значение a перед первым максимальным элементом, значение b после первого максимального элемента.
Формат входных данных:
На входе подаются в первой строке N - число элементов массива
Вторая строка содержит число a и число b
Третья строка содержит N чисел - значения элементов массива
Формат выходных данных: Выведите результирующий массив в строку
Пример:
Ввод
5
100 200
43 50 76 84 100
Вывод
43 50 76 84 100 100 200
| |
|
|
Пятый самый легкий
Одномерные массивы
Квадратичные сортировки
Формат входных данных
В первой строке записано натуральное число n (n < 100). Вторая строка содержит n положительных целых чисел mi - вес i-го предмета (1 ≤ i ≤ n, 1 ≤ ai ≤ 105).
Формат выходных данных
Напечатайте массу предмета, являющегося "пятым самым легким предметом".
| |
|
|
Самый дорогой автомобиль
Одномерные массивы
В массиве хранится информация о стоимости каждой из 50 марок легковых автомобилей. Определить, сколько стоит самый дорогой автомобиль.
Входные данные
На вход подается строка, содержащая 50 натуральных чисел, разделенных пробелом. Каждое число не больше 100000.
Выходные данные
Выведите на ответ на задачу.
| |
|
|
7154
Одномерные массивы
В массиве хранится информация о среднедневной температуре за каждый день июля. Определить даты двух самых теплых дней. Вывести эти даты в порядке возрастания. Если максимальная температура одинакова в течении 2 и более дней, то вывести даты встретившиеся ранее.
Входные данные
Входная строка содержит 31 число, разделенных пробелом - среднедневная температура за каждый день июля.
Выходные данные
Выведите 2 числа - даты двух самых теплых дней. Если максимальная температура одинакова в течении 2 и более дней, то вывести даты встретившиеся ранее.
| |
|
|
Последний самый старший
Одномерные массивы
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер последнего самого старшего по возрасту человека.
Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер последнего самого старшего человека.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1904 1903 1905 1905 1903 |
5 |
| |
|
|
Самый высокий и самый низкий
Одномерные массивы
В массиве хранится информация о росте 25 человек. Определить, на сколько рост самого высокого человека превышает рост самого низкого.
Входные данные
На вход подается строка, содержащая 25 натуральных чисел, разделенных пробелом. Каждое число не больше 250.
Выходные данные
Выведите на ответ на задачу.
| |
|
|
Вывод нечетных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит нечетные элементы массива (то есть те элементы, которые являются нечетными числами).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее, с новой строки, через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все нечетные элементы массива.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5 |
1 3 5 |
| |
|
|
6001
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив элементами по следующему правилу (первый элемент равен значению N) и вывести его на экран в одну строчку через пробел:
20 17 14 11 ...
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
5 2 -1 -4 -7 |
| |
|
|
По разную сторону улицы
Одномерные массивы
Известно число жителей, проживающих в каждом доме улицы. Нумерация домов идет подряд, начинается с 1. Дома с нечетными номерами расположены на одной стороне улицы, с четными на другой. На какой стороне улицы проживает больше жителей?
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (каждое число не более 100).
Выходные данные
Вывести на экран знак больше (">"), если количество жителей на нечетной стороне проживает больше, чем на четной. Вывести на экран знак меньше ("<"), если количество жителей на нечетной стороне проживает меньше, чем на четной. В противном случае вывести знак равно ("=").
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
202 103 484 287 282 238
|
> |
| 2 |
4
20 101 100 123 |
< |
| |
|
|
Средние в шеренге
Одномерные массивы
Квадратичные сортировки
Формат входных данных
В первой строке записано натуральное число n (n < 100, n - четное). Вторая строка содержит n положительных целых чисел mi - рост i-го учащегося (1 ≤ i ≤ n, 1 ≤ ai ≤ 105).
Формат выходных данных
Напечатайте рост тех двоих людей, которые бы оказались в середине шеренги в случае построения ее по ранжиру (по убыванию роста).
| |
|
|
1876
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N положительных элементов, больших 1 (2<=N<=100). После каждого элемента вставить его минимальный делитель больший 1.
Формат входных данных:
На входе подаются в первой строке N - число элементов массива
Вторая строка содержит N чисел - значения элементов массива
Формат выходных данных: Выведите результирующий массив в строку
Пример:
Ввод
5
43 50 76 84 100
Вывод
43 43 50 2 76 2 84 2 100 2
| |
|
|
Сумма кратных а
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа по модулю не больше 100). В третьей строке вводится целое число a.
Выходные данные
Вывести одно число - сумму элементов, кратных заданному числу a.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
2 4 1 3 6
2 |
12 |
| 2 |
3
1 3 5
3 |
3 |
| |
|
|
OLD or YOUNG
Одномерные массивы
Известен возраст группы людей в списке. Какой человек указан в списке раньше: самый старый или самый молодой? Если самых старых (молодых) несколько, то учитывайте того, кто встретился раньше.
Входные данные
В первой строке вводится число N - количество людей в списке (1<N<=100). Во второй строке вводятся N чисел - возраст людей в списке (каждое число в диапазоне от 0 до 120).
Выходные данные
Вывести на экран слово OLD, если самый старый человек встречается в списке раньше, иначе слово YOUNG, если раньше встречается самый молодой.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
67 99 43 95 32 107 65 104 1 31
|
OLD |
| 2 |
10
1 99 43 95 32 107 65 104 1 31
|
YOUNG |
| |
|
|
Количество положительных
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых, не равных нулю чисел (все числа по модулю не более 100).
Выходные данные
Выведите одно число - количество положительных элементов.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 -5 -3 -4 5 |
2 |
| |
|
|
10383
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов. Удалить из массива все элементы, которые меньше предыдущего. После операции удаления таких элементов, в массиве не должно быть ни одного элемента. который был бы меньше, чем стоящий слева от него.
Входные данные
В первой строке вводится число N (1<= N <=15) - количество элементов одномерного массива.
Во второй строке вводится N целых чисел. Числа в строке разделены одним пробелом.
Выходные данные
Выведите измененный массив.
Примечание
Программа должна менять массив "на месте". То есть массив необходимо именно изменить, а не создавать новый массив или сразу выводить требуемые эллементы на экран!
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 0 2 0 0
|
1 2
|
| 2 |
6
4 0 1 4 5 4 |
4 4 5 |
| |
|
|
+-=
Одномерные массивы
Массив A содержит n целых чисел. Вывыдите знак >, если количество минимальных полжительных чисел больше, чем максимальных отрицательных. Выведите знак <, если количество минимальных положительных чисел меньше, чем максимальных отрицательных. При равенстве выведите знак =.
Если среди чисел нет положительных (отрицательных), то количество минимальных положительных (максимальных отрицательных) считать равным 0.
Входные данные
Первая строка входных данных содержит число n (0 <= n <= 105). Вторая строка содержит n целых чисел ai- элементы массива (-109 <= ai <= 109).
Выходные данные
Выведите один знак (>, <, =) - ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 2 -2 -1 |
> |
| 2 |
7
1 1 2 -1 -1 -2 -3 |
= |
| |
|
|
5998
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив элементами по следующему правилу и вывести его на экран в одну строчку через пробел:
Пример входных и выходных данных
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
2 4 6 8 10 |
| |
|
|
Первый самый быстрый
Одномерные массивы
В массиве хранится информацию о максимальной скорости каждой из N марок легковых автомобилей. Определить порядковый номер первого встретившегося автомобиля с самой высокой скоростью.
Входные данные
В первой строке задается число N - количество авомобилей (0<N<=50). Во второй строке задаются значения скоростей N автомобилей (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер первого самого быстрого автомобиля.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
4 3 5 3 5 |
3 |
| |
|
|
7152
Одномерные массивы
В массиве хранится информация о максимальной скорости каждой из 40 марок легковых автомобилей. Определить скорости двух самых быстрых автомобилей.
Вывести на экран два числа в порядке убывания через пробел.
Входные данные
Входная строка содержит 40 чиел, разделенных пробелом - максимальная скорость каждого автомобиля.
Выходные данные
Выведите 2 числа в порядке убывания - скорости двух самых быстрых автомобилей.
| |
|
|
Последний с минимальной премией
Одномерные массивы
В массиве хранится информация о годовой премии у N сотрудников фирмы. Определить порядковый номер последнего сотрудника с самой низкой годовой премией.
Входные данные
В первой строке задается число N - количество сотрудников фирмы (0<N<=50). Во второй строке задаются значения премий N сотрудников фирмы (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер последнего сотрудника с минимальной премией.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
4 3 5 3 5 |
4 |
| |
|
|
Сортировка по цифрам числа 1
Одномерные массивы
Квадратичные сортировки
Дано N двузначных положительных чисел. Необходимо вывести их в порядке увеличения первой цифры. Если первые цифры одинаковы, то вывести их в порядке следования в исходном массиве.
Формат входных данных
В первой строке записано натуральное число N (1<=N<=1000). Вторая строка содержит n двузначных положительных чисел numsi (1 ≤ i ≤ n, 10 ≤ numsi ≤ 99).
Формат выходных данных
Выведите ответ на задачу.
| |
|
|
6007
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив первыми натуральными четырехзначными числами, у которых сумма четных цифр больше суммы нечетных
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
1002 1004 1006 1008 1014 |
| |
|
|
10384
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов. Удалить неодинаковые симметричные элементы.
В первой строке вводится число N (1<=N<=15) - количество элементов одномерного массива
Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры)
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5
1 0 2 0 0
|
0 2 0 |
|
2 |
6
4 0 1 4 5 4
|
4 4 |
| |
|
|
Инверсия между двумя элементами
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан одномерный массив размерностью N (2 <= N <= 20). Выполните инверсию элементов находящихся между максимальным и минимальным значениями (максимальное и минимальное значения должны остаться на своих местах).
Входные данные
В первой строке содержится число N - количество элементов массива. Вторая строка содержит значения элементов массива. Все элементы массива различные.
Выходные данные
Необходимо вывести на экран результирующий массив.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
1 2 3 4 |
1 3 2 4 |
| |
|
|
Нечетные индексы
Одномерные массивы
Дан массив, состоящий из N целых чисел. Нумерация элементов начинается с 0. Напишите программу, которая выведет элементы массива с нечетными индексами (1, 3, 5...).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записано N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все элементы массива с нечётными индексами.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
4 5 3 4 2 3 |
5 4 3 |
| |
|
|
На четной стороне
Одномерные массивы
Известно число жителей, проживающих в каждом доме улицы. Нумерация домов идет подряд, начинается с 1. Дома с нечетными номерами расположены на одной стороне улицы, с четными на другой. Определите, сколько человек живет на четной стороне улицы.
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (каждое число не более 1000).
Выходные данные
Выведите одно число - количество человек, которые живут на четной стороне улицы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
202 103 484 287 282 238
|
628 |
| |
|
|
6010
Одномерные массивы
Дано неотрицательное число N (0<N<=100000)
Заполнить массив всеми делителями числа N в прямом порядке.
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
8 |
1 2 4 8 |
| |
|
|
Первый самый младший
Одномерные массивы
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер первого самого младшего по возрасту человека.
Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер первого самого младшего человека.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1904 1903 1905 1905 1903 |
3 |
| |
|
|
Сумма больших а
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа по модулю не более 100). В третьей строке вводится целое число a.
Выходные данные
Выведите одно число - сумму элементов массива, которые больше числа a.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5
0 |
15 |
| 2 |
3
-1 0 1
-2 |
0 |
| |
|
|
Элементы, оканчивающиеся на a
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры).
В третьей строке вводится цифра a.
Выходные данные
Выведите одно число - количество элементов массива, оканчивающихся на цифру a.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 32 14 52
2 |
3 |
| 2 |
3
-1 0 1
2 |
0 |
| |
|
|
С разницей в 10
Одномерные массивы
Известна численность каждого из 40 классов школы. Верно ли, что в самом многочисленном классе учится на 10 учеников больше, чем в самом малочисленном? Вывести на экран слово YES, если ответ на вопрос да, или NO в противном случае.
Входные данные
Во входной строке идут целых 40 чисел, каждое число не больше 150.
Выходные данные
Выведите на экран ответ YES, если в самом многочисленном классе учится на 10 учеников больше, чем в самом малочисленном. В противном случае выведите NO.
| |
|
|
Вывод четных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит четные элементы массива (то есть те элементы, которые являются четными числами).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все четные элементы массива.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5 |
2 4 |
| |
|
|
Средняя урожайность пшеницы
Одномерные массивы
В области Че в каждом из N районов решили засеять свободные поля пшеницей. После жатвы всю пшеницу свозят в хранилище и считают, сколько было собрано урожая в каждом районе. Известная площадь, засеянная пшеницей (Ai, в гектарах) в каждом районе, и размер собранного урожая в каждом районе (Bi, в центнерах). Напишите программу, которая считает среднюю урожайность пшеницы по каждому району и по всей области в целом.
Входные данные
В первой строке вводится значение N - количество районов в области (1 <= N <= 1000). Во второй строке, вводится N чисел Ai - площади каждого района (1 <= Ai <= 109). Во второй строке, вводится N чисел Bi - урожайность каждого района (1 <= Bi <= 109).
Выходные данные
Вывести в первой строке через пробел среднюю урожайность по каждому району, округленную до 6 знаков после запятой. Во второй строке вывести среднюю урожайность по области в целом, округленную до 6 знаков после запятой.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
10 20 25 30 35
30 40 50 60 70
|
3.000000 2.000000 2.000000 2.000000 2.000000
2.083333
|
| |
|
|
Количество отрицательных
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=100) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа по модулю не более 100).
Выходные данные
Выведите одно число - количество отрицательных элементов.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 -5 -3 -4 5 |
3 |
| |
|
|
10382
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов. Удалить самую длинную последовательность нулей
(одинаковой длины последовательностей нет).
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива
Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры)
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5
1 0 2 0 0
|
1 0 2 |
|
2 |
6
4 0 0 0 3 0
|
4 3 0 |
| |
|
|
Сумма четных элементов
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа не более 100 по модулю).
Выходные данные
Выведите одно число - сумму четных элементов.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
2 4 1 3 6 |
12 |
| 2 |
3
1 3 5 |
0 |
| |
|
|
5999
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив элементами по следующему правилу и вывести его на экран в одну строчку через пробел:
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
1 3 5 7 9 |
| |
|
|
Дешевые конфеты
Одномерные массивы
В массиве хранится информация о стоимости 1 килограмма 20 видов конфет. Определить, сколько стоят самые дешевые конфеты.
Входные данные
На вход подается строка, содержащая 20 натуральных чисел, разделенных пробелом. Каждое число не больше 250.
Выходные данные
Выведите на ответ на задачу.
| |
|
|
Последний самый быстрый
Одномерные массивы
В массиве хранится информацию о максимальной скорости каждой из N марок легковых автомобилей. Определить порядковый номер последнего встретившегося автомобиля с самой высокой скоростью.
Входные данные
В первой строке задается число N - количество авомобилей (0<N<=50). Во второй строке задаются значения скоростей N автомобилей (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер последнего встретившегося автомобиля с самой высокой скоростью.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
4 3 5 5 3 |
4 |
| |
|
|
7153
Одномерные массивы
В массиве хранится информация о результатах 22 спортсменов, участвовавших в соревнованиях по бегу на 100 м. Известно, что никакие два спортсмена не финишировали одновременно Определить результаты двух спортсменов, занявших первое и второе места (ответ выводить в строку).
Входные данные
Входная строка содержит 22 числа, разделенных пробелом - результаты спортсменов
Выходные данные
Выведите 2 числа - результаты двух спортсменов, занявших первое и второе места. Сначала результат первого, затем, через пробел, результат второго
| |
|
|
Первый самый старший
Одномерные массивы
В массиве хранится информация о годе рождения каждого из N человек. Определить порядковый номер первого самого старшего по возрасту человека.
Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел, каждое число положительное, не больше 105).
Выходные данные
Вывести номер первого самого старшего человека.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1904 1903 1905 1905 1903 |
2 |
| |
|
|
Сортировка по цифрам числа 2
Одномерные массивы
Квадратичные сортировки
Дано N трехзначных чисел (1<=N<=1000). Необходимо вывести их в порядке возрастания.
Нельзя использовать встроенную сортировку
Пример
Входные данные
9
639 265 915 993 436 202 573 906 490
Выходные данные
202 265 436 490 573 639 906 915 993
| |
|
|
Нечетные на нечетных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит нечетные элементы массива (то есть те элементы, которые являются нечетными числами), имеющие нечетные индексы (нумерация элементов начинается с 0).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все нечетные элементы массива, имеющие нечетные индексы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 3 4 6 |
1 |
| |
|
|
6008
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив первыми натуральными числами больше 300, делящимися нацело на 13 или на 17 и с суммой цифр большей 10;
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
338 357 364 374 377 |
| |
|
|
6002
Одномерные массивы
Дано неотрицательное число N- количество элементов массива (N<=100)
Заполнить массив элементами по следующему правилу (первый элемент равен значению N) и вывести его на экран в одну строчку через пробел:
20 19 17 14 ...
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
5 |
5 4 2 -1 -5 |
| |
|
|
Отличные от последнего
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа не более 100).
Выходные данные
Выведите одно число - количество элементов отличных от последнего элемента.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 5 3 4 5 |
3 |
| 2 |
3
1 1 1 |
0 |
| |
|
|
Нечетные на четных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит нечетные элементы массива (то есть те элементы, которые являются нечетными числами), имеющие четные индексы (нумерация элементов начинается с 0).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все нечетные элементы массива, имеющие четные индексы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 3 4 6 |
1 3 |
| |
|
|
Четные на нечетных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит четные элементы массива (то есть те элементы, которые являются четными числами), имеющие нечетные индексы (нумерация элементов начинается с 0).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести в одной строке через пробел все четные элементы массива, имеющие нечетные индексы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 6 |
2 4 |
| |
|
|
Четные на четных
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит четные элементы массива (то есть те элементы, которые являются четными числами), имеющие четные индексы (нумерация элементов начинается с 0).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все четные элементы массива, имеющие четные индексы.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 3 4 6 |
6 |
| |
|
|
Список Сергея Николаевича
Одномерные массивы
Сергей Николаевич любит заниматься статистикой. В его распоряжение попался список роста всех учащихся лицея. К его огорчению все данные были записаны в произвольном порядке и к тому же занимали несколько страниц. На одной странице помещается запись о 25 учащихся. Помогите Сергею Николаевичу определить на какой странице находится информация о первом самом высоком и первом самом низком учениках лицея. Страницы нумеруются с 1.
Входные данные
В первой строке вводится число N - количество людей в списке (1<N<=105). Во второй строке вводятся N чисел - рост людей в списке (каждое число в диапазоне от 100 до 220).
Выходные данные
Выведите на экран 2 числа в одной строке через пробел:
- первое число - номер страницы, на которой располагается информация о первом самом высоком ученике;
- второе число - номер страницы, на которой располагается информация о первом самом низком ученике.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
112 136 165 205 122 116 177 212 107 169
|
1 1 |
| |
|
|
Список Сергея Николаевича - 2
Одномерные массивы
Сергей Николаевич любит заниматься статистикой. В его распоряжение попался список роста всех учащихся лицея. К его огорчению все данные были записаны в произвольном порядке и к тому же занимали несколько страниц. Узнав рост самого высокого и самого низкого из учащихся, Сергей Николаевич стал искать эти данные по списку. На чтение одной записи у него уходит 1 миллисекунда. Определить сколько миллисекунд понадобится Сергею Николаевичу, чтобы найти записи о самом высоком и самом низком учениках. Если таких учеников несколько Сергей Николаевич берет первого встретившегося.
Входные данные
В первой строке вводится число N - количество людей в списке (1<N<=105). Во второй строке вводятся N чисел - рост людей в списке (каждое число в диапазоне от 100 до 220).
Выходные данные
Выведите на экран одно число - количество милисекунд, которое понадобиться Сергею Николаевичу, чтобы найти требуемые записи.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
112 136 165 205 122 116 177 212 107 169
|
9 |
| |
|
|
Список Сергея Николаевича - 3
Одномерные массивы
Сергей Николаевич любит заниматься статистикой. В его распоряжение попался список роста всех учащихся лицея. К его огорчению все данные были записаны в произвольном порядке и к тому же занимали несколько страниц. Сергей Николаевич хочет определить сколько учащихся имеют такой же рост, как у самого высокого ученика, а также сколько учащихся имеют такой же рост, как у самого низкого ученика. Сергей Николаевич попросил вас написать для него программу, решающую данную задачу.
Входные данные
В первой строке вводится число N - количество людей в списке (1<N<=105). Во второй строке вводятся N чисел - возраст людей в списке (каждое число в диапазоне от 100 до 220).
Выходные данные
Выведите на экран два числа в одной строке через пробел: сколько учащихся имеют такой же рост, как у самого высокого ученика, а также сколько учащихся имеют такой же рост, как у самого низкого ученика.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
212 107 165 205 122 116 177 212 107 212
|
3 2 |
| |
|
|
Спасём ли Либанк
Одномерные массивы
Международный банк Либанк имеет N отделений по всему миру. После окончания пандемии короновируса, финансовый отдел банка решил проверить отчетность всех отделений. Выяснилось, что некоторые отделения остались в долгу, а некоторые даже успели получить прибыль. Теперь финансовые директора решили спасти все отделения с минимальным одинаковым долгом. Они хотят понять, можно ли покрыть все их долги, если использовать средства всех отделений с минимальной одинаковой прибылью. Вам как сотруднику IT отдела было выдано данное задание. Финансовые директора ждут от вас ответа!
Входные данные
В первой строке задается число N (2<=N<=500) - количество отделений Либанка. Во второй строке записаны N чисел ai (-1000<=ai<=1000, 0<=i<N) - положительными числами обозначены прибыли отделений, отрицательными - долги. Известно, что хотя бы одно отделение Либанка получило прибыль и хотя бы одно отделение осталось в долгу.
Выходные данные
Если все указанные отделения можно спасти, выведите на экран сумму, которая останется после покрытия всех долгов отделений с минимальным одинаковым долгом. Если спасти нельзя выведите отрицательное число, показывающая сколько денег не хватает.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
-1 4 -10 0 -8 -1 -8 8 -2 8 |
2 |
| |
|
|
Печаль Громозеки
Одномерные массивы
Использование сортировки
Алгоритмы сортировки
Громозека имеет последовательность целых чисел A длины N. Он свободно выбирает целое число b. Здесь ему станет грустно, если Ai и b+i находятся далеко друг от друга. Точнее, печаль Громозеки рассчитывается следующим образом:
\(abs(A_1-(b+1))+abs(A_2-(b+2))+...+abs(A_N-(b+N))\).
Здесь \(abs(x) \)- это функция, которая возвращает абсолютное значение x. Найдите минимально возможную печаль Громозеки.
Входные данные
В первой строке записано целое число N (\(1<=N<=2 \cdot 10^5\)). Во второй строке записано N целых чисел Ai (\(1<=A_i<=10^9\)).
Выходные данные
Выведите на экран минимально возможную печаль Громозеки.
Примеры
| № |
Входные данные |
Выходные данные |
Пояснение |
| 1 |
5
2 2 3 5 5 |
2 |
Если мы выберем b = 0, печаль Громозеки будет \(\)
abs (2- (0 + 1)) + abs (2-(0 + 2))+ abs (3-(0 + 3)) + abs (5- (0 + 4)) + abs(5-(0 + 5)) = 2.
Любой другой выбор b не делает печаль Громозеки меньше 2, поэтому ответ - 2. |
| 2 |
9
1 2 3 4 5 6 7 8 9 |
0 |
|
| 3 |
6
6 5 4 3 2 1 |
18 |
|
| 4 |
7
1 1 1 1 2 3 4 |
6 |
|
| |
|
|
Ты решишь это?
Одномерные массивы
Алгоритмы обработки
Есть N частей некоторого исходного кода. Характеристики i-й части кода представлены M целыми числами Ai1, Ai2, ..., AiM . Вам даны целые числа B1, B2, ..., BM и C.
i-я часть кода правильно решает задачу тогда и только тогда, когда \( A_{i1}\cdot B_1 + A_{i2}\cdot B_2 + ...+ A_{iM}\cdot B_M +C>0\).
Среди N частей исходного кода найдите количество, которые правильно решают эту задачу.
Входные данные
В первой строке заданы три числа через пробел: N, M (1 <= N, M <= 20) и C (-100 <= C <= 100). Во второй строке задано M чисел Bi (-100 <= Bi <= 100). Каждая из следующих N строк содержит M чисел Ai (-100 <= Aij <= 100, 1 <= i <= N, 1 <= j <= M).
Выходные данные
Выведите одно число - ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
2 3 -10
1 2 3
3 2 1
1 2 2 |
1 |
| 2 |
5 2 -4
-2 5
100 41
100 40
-3 0
-6 -2
18 -13 |
2 |
| 3 |
3 3 0
100 -100 0
0 100 100
100 100 100
-100 100 100 |
0 |
| |
|
|
Громозека и Алиса - 2
Задача на реализацию
Одномерные массивы
Циклы
Алиса и Громозека пошли гулять по городу. Заходя в первое кафе, Алиса посмотрела на часы и запомнила время входа. Далее она запоминала только количество минут, которое они с Громозекой тратили между двумя посещенными кафе (от входа в одно кафе, до входа в другое). По окончании прогулки, Алиса решила восстановить хронологию - время входа в очередное кафе.
Напишите программу, которая определит, в какое время Алиса и Громозека заходили в очередное кафе.
Входные данные
В первой строке задан, момент времени, в который Громозека и Алиса вошли в первое кафе. Формат времени: часы (число от 00 до 23), далее идет двоеточие, затем минуты (число от 00 до 59). Строка времени записана без пробелов.
Во второй строке записано натуральное число N (2 <= N <= 1000) - количество посещенных кафе (включая кафе из которого они вышли в начальный момент времени и последнее кафе). В третьей строке записано N-1 число: первое показывает время в минутах от входа в первое кафе до входа во второе, второе - время от входа во второе кафе до входа в третье и т.д. Каждое из этих чисел натуральное и не превышает 1000.
Выходные данные
Выведите для каждого кафе время входа Алисы и Громозеки. Формат времени должен быть такой же, как и во входных данных.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
07:00
4
10 5 3 |
07:00
07:10
07:15
07:18 |
| |
|
|
Безумный ученый
Одномерные массивы
Цикл for
Фермер Джон упорядочил N своих коров (1 ≤ N ≤ 1000) каждая из которых имеет одну из двух пород Holsteins или Guernseys. Он зафиксировал этот порядок в виде строки из N символов, каждый из которых либо H, либо G соответственно. К несчастью, когда коровы прибыли на ферму и он снова их выстроил, они образовали строку, отличную от исходной.
Назовём эти две строки A и B, где A - исходная строка, которую он хотел увидеть, B - строка которая получилась по прибытию коров. ФД попросил помощи у кузена Бена.
После нескольких месяцев работы, Бен создал замечательную машину MCBF-3000, которая способна взять любую подстроку и поменять в ней все G на H, а все H на G. Теперь ФД хочет узнать минимальное количество применений этой машины, которые позволят превратить строку B в строку A. Помогите ФД.
Входные данные
Первая строка содержит N, а следующие две строки содержат строки A и B. Каждая из строк состоит только из символов H и G.
Выходные данные
Выведите минимальное количество раз применения машины MCBF-3000 для трансформации строки B в строку A.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
GHHHGHH
HHGGGHH
|
2 |
| |
|
|
Спрятанная карта
Одномерные массивы
Алгоритмы обработки
В колоде у Громозеки находятся карты, на которых написано по одному целому числу. Каждое число в колоде встречается ровно 4 раза.
Таким образом, в колоде имеются 4 карты с числом 1, 4 карты с числом 2, ..., 4 карты с числом N. Всего в колоде 4*N карт.
Громозека перетасовал эти карты, а затем спрятал одну из них и дал вам стопку оставшихся 4*N-1 карт. На i-й карте (1<= i <=4*N−1) из стопки написано целое число Ai.
Найдите целое число, записанное на карте, которую спрятал Громозека.
Входные данные
Программа получает на вход две строки. Первая строка содержит целое число N (1 <= N <= 105). Вторая строка содержит 4*N-1 целых чисел Ai (1 <= Ai <= 4*N−1. 1<= i <=4*N−1). Для каждого k (1<=k<=N) существует не более 4 индексов i, таких, что Ai=k.
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
1 3 2 3 3 2 2 1 1 1 2 |
3 |
| 2 |
1
1 1 1 |
1 |
| 3 |
4
3 2 1 1 2 4 4 4 4 3 1 3 2 1 3 |
2 |
| |
|
|
Количество элементов, больших обоих соседей
Одномерные массивы
Алгоритмы обработки
Дан массив, состоящий из целых чисел. Напишите программу, которая в данном массиве определяет количество элементов, у которых имеются два соседних элемента и, при этом, оба соседних элемента меньше данного.
Входные данные
Сначала задано число N - количество элементов в массиве (1 <= N <= 10000). Далее через пробел записаны N чисел - элементы массива. Массив состоит из целых чисел.
Выходные данные
Необходимо вывести количество элементов массива, у которых два соседа и которые при этом строго больше обоих своих соседей.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5
|
0
|
| 2 |
5
2 3 2 4 3
|
2
|
| |
|
|
Дети в круг
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Анна Николаевна в детском саду играет с детьми в игру. По кругу стоят стулья. Все стулья пронумерованы от 1 до N (1 <= N <= 100000). Имя каждого ребенка закодировано натуральным числом, не превышающим 109. Анна Николаевна хлопает в ладоши K раз (|K| <= 100000) тихо или громко. Если Анна Николаевна хлопает в ладоши тихо, то все дети должны быстро пересесть на K стульев вправо. Если же Анна Николаевна хлопает в ладоши громко, то все дети должны быстро пересесть на K стульев влево.
Чтобы Анне Николаевна было проще определять все ли дети пересели верно, напишите для нее программу, которая бы определяла положение каждого ребенка после пересаживания.
В данной задаче нельзя использовать дополнительные массивы (списки). Обратите внимание, что нужно именно преобразовать имеющийся массив(список) и распечатать его целиком, а не создать новый, даже назвав его тем же самым именем (это возможно в языке Python).
Входные данные
В первой строке дано натуральное число N, во второй строке N целых чисел, а в последней целое число K. Все числа во входных данных не превышают 109. Если число K > 0, это означает, что Анна Николаевна хлопала в ладоши тихо. Число K < 0, это означает, что Анна Николаевна хлопала в ладоши громко.
Выходные данные
Требуется вывести коды детей, которые будут занимать стулья с 1 по N после пересаживания.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
5 3 7 4 6
3
|
7 4 6 5 3
|
| |
|
|
С видом на океан
Одномерные массивы
С востока на запад простираются горы, а на западе - океан. На вершине каждой горы есть отель. Вы хотите выбрать, в каком отеле остановиться. Высота i-й горы с запада равна Hi. Вы, конечно, можете увидеть океан из отеля, который расположен на вершине самой западной горы. Для отеля на вершине i-й горы с запада (i = 2, 3, ..., N) вы сможете увидеть океан тогда и только тогда, когда H1<=Hi, H2<=Hi, ... и Hi-1<=Hi. Посчитайте, со скольких из этих отелей вы сможете увидеть океан?
Входные данные
В первой строке записано натуральное число N (1 <= N <= 20) - количество гор. Вторая строка содержит N чисел Hi (1 <= Hi <= 100) высоты гор, начиная с самой западной (первой).
Выходные данные
Выведите количество отелей, из которых вы сможете увидеть океан.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
6 5 6 8
|
3
|
| 2 |
5
4 5 3 5 4
|
3
|
| 3 |
5
9 5 6 8 4
|
1
|
| |
|
|
Меняю конфеты на ноутбук
Одномерные массивы
Динамическое программирование
Использование сортировки
Порядковые статистики
Динамическое программирование: один параметр
Антон Б., суперспособный ученик 8 класса, обладает неудивительными математическими способностями. Побывав однажды на экскурсии в Колоколамске, он понял, что легко может написать программу, которая бы предсказывала стоимость его любимых конфет на любой промежуток дней вперед.
Используя эту программу, Антон Б. решил приобрести на все свои карманные деньги конфеты (а их у него было всего 10 рублей), затем, чуть позже, продать все купленные им конфеты. Таким образом, Антон Б. хочет заработать как можно больше денег на новый ноутбук.
Так как Антон Б. еще несовершеннолетний и один ездить в другие города не может, ему нужно понять, в какие из двух дней попросить старшего брата отвезти его в Колоколамск. Старший брат совершеннолетний и очень любит своего младшего брата, поэтому всегда готов ему помочь.
Так как Антон Б. очень торопится на кружок по информатике, он просит вас определить эти два дня в ближайшие N дней.
Входные данные
В первой строке записано число N (2 <= N <= 100000) количество дней, на которые Антон Б. делает прогноз. Вторая строка содержит N целых положительных чисел ai (1 <= i <= N , 1 <= ai <= 5000 ), где ai - предсказанная стоимость конфет в i-й день.
Выходные данные
Выведите два числа: первое число - номер дня, в который Антон Б. поедет покупать конфеты, второе - номер дня, в который он поедет продавать конфеты. В случае, если таких вариантов дней несколько, выведите любой из них. Если Антон Б. в итоге не сможет получить прибыль ни при каких вариантах, то выведите два нуля.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
10 3 5 3 11 9
|
2 5
|
| 2 |
4
5 5 5 5
|
0 0
|
| |
|
|
Пять блюд
Одномерные массивы
В лунном ресторане Селена подают следующие пять блюд:
Нягао (рисовый пирог): на подачу уходит А минут.
Цзяо (пельмени): на подачу уходит B минут.
Тан (сладкие рисовые шарики): для подачи на стол требуется C минут.
Шиитаке (тушеные грибы): на подачу уходит D минут.
Ханбагу (котлета для гамбургера): на подачу уходит E минут.
Будем считать, что время подачи блюда - это время между размещением заказа и доставкой блюда.
В лунном ресторане действуют следующие правила в отношении заказов:
- Заказ может быть размещен только в момент времени, кратный 10 минутам (0, 10, 20, ... минут).
- Одновременно можно заказать только одно блюдо.
- Новый заказ не может быть размещен, если еще не доставлено блюдо предыдущего заказа. Но новый заказ может быть размещен точно в то время, когда доставлено блюдо из предыдущего заказа.
Громозека прибыл в этот ресторан в 0 минут. Он желает заказать все пять блюд. Определите через какое минимальное количество минут будет доставлено последнее блюдо. Громозека может заказать блюда в любом порядке, который ему нравится, и он может сделать заказ уже в момент 0 минут. Время на Луне отсчитывается только в минутах.
Входные данные
Программа получает на вход 5 целых чисел А, B, C, D, E (1 <= A, B, C, D, E <= 123). Каждое число в отдельной строке.
Выходные данные
Выведите на экран целое число - ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
Примечание |
| 1 |
29
20
7
35
120 |
215
|
Если мы решим заказать блюда в порядке Нягао, Цзяо, Тан, Хангбау, Шиитаке, то максимально раннее время для каждого заказа будет следующим:
Закажите Нягао в 0 минут, который будет доставлен через 29 минут. Текущий момент времени будет 29 минут.
Закажите Цзяо в 30 минут, которое будет в момент 50 минут .
Закажите Тан в момент 50 минут, который будет доставлен в момент 57 минут.
Закажите Ханбагу в момент 60, который будет доставлен в момент 180 минут.
Закажите Шиитаке в 180 минут, который будет доставлен в момент 215 минут.
Невозможно заказать блюда другим способом так, чтобы последнее блюдо было бы доставлено раньше, чем указанное в примере. |
| |
|
|
Секретная последовательность
"Два указателя"
Одномерные массивы
Задача на реализацию
Алиса оставила для своего отца профессора Селезнева секретную последовательность a[1..n]. Чтобы ее не прятать, она решила написать ее на самом видном месте, но в другом порядке следования чисел. Профессор Селезнев знает, что Алиса переписала секретную последовательность в следующем виде:
- первым числом слева записано число
a1;
- первым числом справа записано число
a2;
- вторым числом слева (после
a1) записано число a3;
- вторым числом справа (то есть перед числом
a2) записано число a4;
- все остальные числа записаны аналогичным образом.
То есть, если бы секретная последовательность была a = [1, 2, 3, 4, 5, 6], то профессор бы увидел следующую последовательность [1, 3, 5, 6, 4, 2]. Профессор Селезнев очень торопился и успел только сохранить в компьютер последовательность, которую увидел. Напишите программу, которая покажет профессору исходную секретную последовательность.
Входные данные
Первая строка содержит размер последовательности n (1 <= n <= 300), записанной Алисой для своего отца. Вторая строка содержит n чисел ai (1 <= ai <= 109) - саму последовательность.
Выходные данные
Выведите исходную последовательность, которую Алиса выписывала для отца.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
1 3 5 6 4 2
|
1 2 3 4 5 6 |
| 2 |
1
23 |
23 |
| |
|
|
Праздник Осени
Одномерные массивы
В детском саду Солнышко на Праздник Осени у всех детей должно быть по одинаковому числу воздушных шариков. Воспитательница Анна Николаевна узнала, сколько воздушных шариков сможет принести из дома каждый ребенок на праздник. Чтобы уравнять количество шариков у всех детей, родительский комитет решил закупить необходимое число воздушных шариков.
Всего в группе у Анны Николаевны n воспитанников, количество имеющихся воздушных шариков у каждого каждого ребенка равно ai.
Вы - казначей родительского комитета, которому необходимо посчитать минимальное количество воздушных шариков, которое необходимо закупить, чтобы уравнять их число у каждого ребенка.
Будем считать, что воздушные шарики, имеющиеся у детей, не лопнут до конца праздника.
Входные данные
В первой строке входных данных содержится целое число n (1 <= n <= 100) — количество воспитанников в группе у Анны Николаевны.
Во второй строке содержатся n чисел a1,a2, ..., an, где ai (0 <= ai <= 106) — количество воздушных шариков, которое i-й ребенок сможет принести из дома.
Выходные данные
В единственную строку выходных данных выведите выведите целое число — минимальное количество воздушных шариков, которое которое необходимо закупить.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
0 1 2 3 4 |
10 |
| 2 |
5
1 1 0 1 1 |
1 |
| 3 |
3
1 3 1 |
4 |
| 4 |
1
12 |
0 |
| |
|
|
Книжки с полки
Одномерные массивы
Задача на реализацию
Петя обладает обширной библиотекой книг. Сейчас он стоит возле полки с приключенческими рассказами. На ней расположены n книг. Все книги на полке у Пети всегда пронумерованы слева направо. Книга с номером i имеет ai страниц. На полке, возле которой сейчас стоит Петя, количество страниц в каждой книге различно.
Особенность полок в библиотеке Пети такова, что он может брать только крайнюю книгу с полки (то есть либо самую левую, либо самую правую).
Петя уезжает на каникулы к бабушке и хочет с собой взять две книги, самую толстую и самую тонкую. Помогите Пете узнать, какое минимальное количество книг ему необходимо убрать с полки, прежде чем в его руках окажутся две нужные ему книги. Обратите внимание, что самую толстую и самую тонкую книги Петя также убирает в с полки, поэтому они тоже считаются.
Входные данные
В первой строке записано одно целое число n (2 <= n <= 100) - количество книг на полке. Во второй строке находится n целых различных чисел a1, a2, ..., an (1 <= ai <= 106) - количество страниц в книге.
Выходные данные
Выведите одно целое число — минимальное количество книг, которое необходимо Пете убрать с полки.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 5 4 3 2
|
2
|
| 2 |
8
2 1 3 4 5 6 8 7
|
4
|
| |
|
|
Счастливая последовательность
Одномерные массивы
У Пети есть последовательность A неотрицательных целых чисел длины n. Числа в последовательности пронумерованы, начиная с нуля. Петя считает последовательность счастливой, если четность каждого элемента последовательности совпадает с четностью номера данного элемента. Формально это означает, что если для всех i (0 <= i <= n - 1) выполнено равенство i mod 2 = a[i] mod 2, где x mod 2 - остаток от деления x на 2, то последовательность является счастливой.
Петя хочет сделать свою последовательность счастливой, для этого он берет любые два элемента и меняет их местами (элементы не обязательно соседние). Помогите найти Пете минимальное количество ходов, за которое он сможет сделать свою последовательность счастливой. Если у Пети не получится сделать последовательность счастливой, выведите -1.
Входные данные
Программа получает на вход в первой строке целое число n (1 <= n <= 40) — размер последовательности A. Далее следует строка, содержащая n целых чисел a0,a1,…,an−1 (0 <= ai <= 1000) — целые неотрицательные числа последовательности.
Выходные данные
Для каждого набора тестовых данных выведите одно целое число — минимальное количество ходов, за которое можно сделать заданную последовательность A счастливой, или -1, если это сделать невозможно.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
4
3 2 7 6
|
2
|
| 2 |
1
7
|
-1
|
| 3 |
7
4 9 2 1 18 3 0
|
0
|
| |
|
|
В обратном порядке
Одномерные массивы
Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит элементы массива в обратном порядке.
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
Выходные данные
Необходимо вывести все элементы массива в обртаном порядке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 3 4 6 |
6 4 3 1 1 |
| |
|
|
Количество равных последнему
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа по модулю не более 100).
Выходные данные
Выведите одно число - количество элементов исходного массива, равных последнему элементу (последний элемент в подсчете не учитывается).
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 5 5 -4 5 |
2 |
| |
|
|
Удалить элементы
Одномерные массивы
На вход программе подается натуральное число n, а затем n целых чисел. Допишите программу, которая создает из указанных чисел список, затем удаляет все элементы, стоящие на нечетных позициях (имеющие нечетный индекс), а затем выводит полученный список.
Входные данные
На вход программе подаются натуральное число n, а затем n целых чисел, каждое на отдельной строке.
Выходные данные
Программа должна вывести список в соответствии с условием задачи.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
0
1
2
3
4
5
6
7
8
9
|
[0, 2, 4, 6, 8]
|
| |
|
|
Генераторы списков - 1
Одномерные массивы
Добавьте в программу одну строку, которая создает список, состоящий из квадратов элементов списка numbers.
| |
|
|
Удалите наибольшее и наименьшее
Одномерные массивы
На вход программе подается натуральное число n, а затем n целых чисел. Допишите программу, которая создает из указанных чисел список, затем удаляет из него наибольший и наименьший элементы, а затем выводит полученный список.
Входные данные
На вход программе подаются натуральное число n, а затем n целых чисел, каждое на отдельной строке.
Выходные данные
Программа должна вывести список в соответствии с условием задачи.
Разрешается использовать циклы только в строке заполнения массива!
| |
|
|
Отрицательные, нулевые, положительные
Одномерные массивы
На вход программе подается натуральное число n, а затем n целых чисел. Допишите программу, которая создает три новых списка:
a_neg - список, содержащий отрицательные числа исходного массива;
a_null - список, содержащий нулевые элементы исходного массива;
a_pos - список, содержащий положительные числа исходного массива.
Выведите на первой строке три числа через пробел - количество отрицательных элементов массива, количество нулевых элементов массива и количество положительных элементов массива.
Начиная со второй строки выведите все отрицательные числа, затем нули, а затем все положительные числа, каждое на отдельной строке. Числа должны быть выведены в том же порядке, в котором они были введены.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
3
-4
1
0
-1
0
-2 |
3 2 2
-4
-1
-2
0
0
3
1 |
| |
|
|
Допиши программу - 12
Одномерные массивы
Дополните приведенный код, чтобы он:
- Заменил второй элемент списка на
17;
- Добавил числа
4, 5 и 6 в конец списка;
- Удалил первый элемент списка;
- Удвоил список;
- Вставил число
25 по индексу 3.
| |
|
|
Слова длиной 5 и больше
Одномерные массивы
Дополните приведенный код так, чтобы получить новый список, содержащий слова исходного списка (a) длиной не менее пяти символов. Выведите получившийся список в формате ['слово', 'слово', 'слово', ...]. Слова должны идти в том же порядке, как в исходном списке.
| |
|
|
Все палиндромы в одну строку
Одномерные массивы
Запишите в одну строку вывод списка всех чисел палиндромов от 100 до 1000.
Формат вывода
[101, 111, 121, 131, 141, ...]
| |
|
|
Список Летовца
Одномерные массивы
Любимый предмет Летовца - это статистика. В его распоряжение попался список роста всех учащихся его школы. К его огорчению все данные были записаны в произвольном порядке и к тому же занимали несколько страниц. На одной странице помещается запись о 25 учащихся. Помогите Летовцу определить, на какой странице находится информация о первом самом высоком и первом самом низком учениках школы. Страницы нумеруются с 1.
Входные данные
В первой строке вводится число N - количество учащихся в списке (1 < N <= 105). Во второй строке вводятся N чисел - рост каждого учащегося (рост - число в диапазоне от 100 до 220).
Выходные данные
Выведите на экран 2 числа в одной строке через пробел:
- первое число - номер страницы, на которой располагается информация о первом самом высоком ученике;
- второе число - номер страницы, на которой располагается информация о первом самом низком ученике.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10
112 136 165 205 122 116 177 212 107 169
|
1 1 |
| |
|
|
Невезучий морской бой
Одномерные массивы
Сегодня Максиму не повезло в игре в "Морской бой". Играя с соседом по парте, он ни разу не попал ни в один корабль противника. Игра продолжалась до тех пор, пока Марь Иванна не увидела, что ребята заняты на уроке не тем, чем надо. Игру пришлось закончить досрочно победой соседа. Прийдя домой, Максим решил определить, какой максимальной длины корабль мог быть у противника.
Но теперь его отвлекла мама и позвала ужинать. Он ушел ужинать и попросил вас помочь ему найти ответ.
Морской бой представляет из себя игру на клетчатом поле размером 10 x 10 клеток. Максим успел прислать вам поле прошедшей игры. На поле отмечены клетки, в которые Максим уже стрелял. На поле можно размещать корабли любого размера, но обязательное условие, чтобы корабль был прямоугольным с шириной, равной 1. Располагать корабль разрешается либо горизонтально либо вертикально.
Входные данные
На вход программа получает 10 строк по 10 чисел в каждой, числа разделены пробелами. Число 1 означает, что в соответствующую клетку стреляли, число 0 – что в клетку не стреляли.
(Гарантируется, что на поле есть хотя бы одна небитая клетка.)
Выходные данные
Выведите ответ – максимальную возможную длину корабля.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 1 0 0
0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0 0
0 0 1 0 0 0 0 1 0 0
0 1 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0
|
10
|
| |
|
|
Карусель
Одномерные массивы
В начальный момент в i-ом элементе массива записано число i (всего N элементов).
Каждую секунду числа сдвигаются в следующую ячейку (из i-ой в i+1-ую), а из N-ой - в первую.
Напечатать состояние массива через T секунд.
Входные данные
Программа получает на вход строку, в которой записаны два числа - N и T (1<=N<=100) и T (0<=T<=30000).
Выходные данные
Выведите N чисел - состояние массива через T секунд.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 3 |
3 4 5 1 2
|
| |
|
|
12473
Одномерные массивы
Вводится сначала число N, а затем N чисел. Выведите эти Nчисел в следующем порядке: сначала выводятся числа, стоящие на нечетных местах, а затем - стоящие на четных местах (места нумеруются с 1).
Входные данные
Вводится число N (0<N<100), а затем N чисел, не превышающи по модулю 1000.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
2 4 1 3 5 3 1
|
2 1 5 1 4 3 3 |
| |
|
|
12472
Одномерные массивы
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся все нечетные числа в том порядке, в котором они встречались во входных данных, а затем - все четные, также в исходном порядке.
Входные данные
Вводится число N (0 < N < 100), а затем N натуральных чисел, не превышающих 1000.
Выходные данные
Выведите элементы массива в том порядке, в котором описано в условии
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
2 4 1 3 5 3 1 |
1 3 5 3 1 2 4 |
| |
|
|
12474
Одномерные массивы
Входные данные
В первой строке записано число N (2<=N<=100) - количество элементов в массиве. Во второй строке записаны N чисел - элементы массива.
Выходные данные
Выведите одно число - количество пар одинаковых чисел.
В данной задаче под парой подразумеваются два различных по индексу элемента массива.
Примеры
| № |
Входные данные |
Выходные данные |
Примечание |
| 1 |
5
1 3 2 2 3 |
2 |
пары чисел, стоящих на местах: (3, 4) и (2, 5) |
| 2 |
4
1 1 1 1 |
6 |
пару одинаковых чисел образовывают любые два числа
массива, поэтому ответом будет число пар, которое вообще
может быть
это пары чисел, стоящих на местах: (1,2), (1,3), (1,4), (2,3), (2,4), (3,4)
|
| |
|
|
Кто отработал норму?
Одномерные массивы
В компании работает n сотрудников, пронумерованных от 0 до n-1. I-й сотрудник (сотрудник с номером i) отработал hoursi часов в компании. Назовем нормой определенное количество часов, установленное компанией, в рамках которой сотрудники должны выполнять свои обязанности. Руководство компании установила норму на уровне не менее t часов.
Определите количество сотрудников, которые отработали норму.
Входные данные
Программа получает на вход в первой строке натуральное число n - количество сотрудников в компании. Вторая строка содержит n чисел hoursi - количество часов, отработанных i-м сотрудником. Третья строка содержит число t.
Ограничения
1 <= n <= 50
0 <= i <= n-1
0 <= hoursi, t <= 105
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
0 1 2 3 4
2
|
3
|
| 2 |
5
5 1 4 2 2
6
|
0
|
| |
|
|
Количество пар одинаковых чисел, стоящих рядом
Одномерные массивы
Среди заданных N натуральных чисел определить сколько среди них пар одинаковых чисел, стоящих рядом.
Входные данные
В певрой строке задается натуральное число N - количество чисел. Во второй строке - N натуральных чисел ( \(2<=N<=100\), все числа не превышают 100).
Выходные данные
Выведите одно число - количество пар одинаковых чисел, стоящих рядом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 3 2 2 3
|
1 |
| 2 |
4
1 1 1 1
|
3 |
| |
|
|
Найти одинаковые
Одномерные массивы
Вводится число N, а затем N чисел - элементов массива (\(1<=N<=100\)), элементы массива - натуральные числа, не превышающие 100.
Необходимо определить номера мест в массиве, на которых стоят одинаковые элементы, или два числа 0 (то есть 0 0), если все элементы различны. Если есть несколько пар чисел, являющихся ответом, вывести любую из них.
Входные данные
В первой строке задается натуральное число N - количество чисел. Во второй строке - N натуральных чисел ( \(2<=N<=100\), все числа не превышают 100).
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 1 3 4
|
1 3 |
| 2 |
4
1 2 3 4
|
0 0 |
| |
|
|
Списочное выражение - 1.2
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка, где у каждого элемента удалён последний символ.
| |
|
|
Списочные выражения - 1.3
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка, где у каждого элемента удален каждый нечетный символ (индексация символов в словах начинается с 0).
| |
|
|
Списочные выражения - 1.4
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка, где у каждого элемента удален каждый четный символ (индексация символов в словах начинается с 0).
| |
|
|
Списочные выражения - 2.1
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка с длиной не менее 5 символов.
| |
|
|
Списочные выражения - 2.2
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка с длиной не более 10 символов.
| |
|
|
Списочные выражения - 2.3
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка с четным числом символов.
| |
|
|
Списочные выражения - 2.4
Одномерные массивы
Программа получает на вход строку, состоящую из слов. Каждое слово разделено одним пробелом. Все слова из этой строки записываются в список my_list.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий слова исходного списка с нечетным числом символов.
| |
|
|
Списочные выражения - 3.1
Одномерные массивы
Программа получает на вход натуральное число n.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий квадраты всех целых чисел от 1 до n.
| |
|
|
Списочные выражения - 3.2
Одномерные массивы
Программа получает на вход натуральное число n.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий удвоенные значения всех целых чисел от 1 до n.
| |
|
|
Списочные выражения - 3.3
Одномерные массивы
Программа получает на вход натуральное число n.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий третью степень всех целых чисел от 1 до n.
| |
|
|
Списочные выражения - 3.4
Одномерные массивы
Программа получает на вход натуральное число n.
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий последние цифры всех целых чисел от n до n*n.
| |
|
|
Списочные выражения - 4.1
Одномерные массивы
Программа получает на вход строку s, содержащую как буквенные символы так и цифровые,
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий только цифровые символы данной строки s.
| |
|
|
Списочные выражения - 4.2
Одномерные массивы
Программа получает на вход строку s, содержащую как буквенные символы так и цифровые,
Дополните приведенный код, используя списочное выражение так, чтобы получить новый список, содержащий только не цифровые символы данной строки s.
| |
|
|
Перестановка двух элементов - 1
Одномерные массивы
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет максимальное значение. Если максимальных элементов несколько, то необходимо взять первый из них (максимальный элемент с меньшим индексом). Индексация элементов начинается с 0.
Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.
Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N
Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 2
1 3 2 -1 0
|
1 2 3 -1 0
|
| |
|
|
Перестановка двух элементов - 2
Одномерные массивы
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет минимальное значение. Если минимальных элементов несколько, то необходимо взять первый из них (минимальный элемент с меньшим индексом). Индексация элементов начинается с 0.
Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.
Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N
Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 2
1 -2 2 -1 0
|
1 2 -2 -1 0
|
| |
|
|
Перестановка двух элементов - 2
Одномерные массивы
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет минимальное значение. Если минимальных элементов несколько, то необходимо взять последний из них (минимальный элемент с большим индексом). Индексация элементов начинается с 0.
Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.
Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N
Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 2
1 -2 2 -1 -2
|
1 -2 -2 -1 2
|
| |
|
|
Перестановка двух элементов - 5
Одномерные массивы
В числовом массиве из N чисел поменять местами первый отрицательный и последний положительный элементы. Учесть возможность того, что отрицательных или положительных элементов в массиве может не быть. В этом случае, никакие элементы местами менять не нужно.
Входные данные
В первой строке записано число N - количество элементов одномерного массива. Во второй строке записаны N чисел numsi - элементы массива.
Ограничения
1 <= N <= 105
-109 <= numsi <= 109
Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 -2 -1 2 -2
|
1 2 -1 -2 -2
|
| |
|
|
Слияние списков
Одномерные массивы
"Два указателя"
У Максимуса есть коллекция волшебных амулетов, каждый из которых обладает своей магической силой. Список имеющихся у него амулетов отсортирован в порядке неубывания магической силы. Вернувшись из очередного путешествия, Максимус составил список новых амулетов, предварительно отсортировав их по невозрастанию магической силы. Теперь у него два отдельных списка и он хочет объединить их в один упорядоченный по неубыанию список.
Он хочет сделать это как можно быстрее. Помогите ему отсортировать два этих списка. Максимус просит вас написать программу, которая будет работать за O(len(A)+len(B)).
Входные данные
Программа получает на вход два неубывающих списка, каждый в отдельной строке.
Выходные данные
Программа должна вывести последовательность неубывающих чисел, полученных объединением двух данных списков.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
1 5 7
2 4 4 5 |
1 2 4 4 5 5 7 |
| |
|
|
Удаление элемента массива
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив. Требуется удалить из него элемент, стоящий на месте номер B, сдвинув все последующие элементы влево.
Входные данные
Во входном файле записано сначала число N - количество элементов массива (2<=N<=100), затем N чисел из диапазона Integer - элементы массива, а затем число B (1<=B<=N).
Выходные данные
В выходной файл выведите N-1 число - элементы массива с удаленным B-м элементом.
Примечание
Вы должны удалить элемент непосредственно из массива, а не сделать вид при выводе данных, что у вас такого элемента нет. Также вы не должны для этого заводить в программе дополнительный массив.
| |
|
|
С видом на любимую школу
Одномерные массивы
В городе N, в которой расположена любимая школа Летовца, с севера на юг построены жилые дома. Сама же школа расположена на юге. Летовец решил переехать в новый дом на последний этаж, чтобы он смог всегда видеть свою любимую школу. Высота i-го дома с севера равна Hi. Летовец, конечно, можете увидеть свою любимую школу с последнего этажа первого жилого дома, расположенного на юге. С посленего этажа i-го дома (i = 2, 3, ..., N) он сможет увидеть школу тогда и только тогда, когда H1<=Hi, H2<=Hi, ... и Hi-1<=Hi. Посчитайте, со скольких из этих домов Летовец сможет наблюдать за своей школой? Дома пронумерованы с юга на север.
Формат входных данных
В первой строке записано натуральное число N (1 <= N <= 20) - количество жилых домов. Вторая строка содержит N чисел Hi (1 <= Hi <= 100) высоты домов, начиная с самого южного (первого).
Формат выходных данных
Выведите количество домов, из которых Летовец сможет наблюдать за школой.
| |
|
|
Ноутбук за печеньки
Одномерные массивы
Динамическое программирование
Использование сортировки
Порядковые статистики
Динамическое программирование: один параметр
Летовец обладает неудивительными математическими способностями. Его способности на столько велики, что он легко может просчитать стоимость его любимых печенек, которые продаются на другом конце города. К сожалению, Летовец не может по максимуму воспользоваться всеми своими способностями, потому что вчера у него сломался ноутбук и теперь он не может писать программы.
Чтобы купить себе новый ноутбук, Летовец решил потратить все свои карманные деньги (а это всего лишь 10 рублей) на покупку своих любимых печенек, а чуть позже, продать все купленные им печеньки.
Так как Летовец еще несовершеннолетний и один ездить на другой конец города не может, ему нужно понять, в какие из двух дней попросить маму отвезти его на другой конец города. Мама всегда готова ему помочь.
Отсутствие ноутбука очень угнетает юного Летовца, поэтому он просит вас определить эти два дня в ближайшие N дней.
Формат входных данных
В первой строке записано число N (2 <= N <= 100000) количество дней, на которые Летовец делает прогноз. Вторая строка содержит N целых положительных чисел ai (1 <= i <= N , 1 <= ai <= 5000 ), где ai - предсказанная стоимость печенек в i-й день.
Формат выходных данных
Выведите два числа: первое число - номер дня, в который Летовей поедет покупать печеньки, второе - номер дня, в который он поедет продавать печеньки. В случае, если таких вариантов дней несколько, выведите любой из них. Если Летовец в итоге не сможет получить прибыль ни при каких вариантах, то выведите два нуля.
| |
|
|
Заполнение массива - 4
Одномерные массивы
Заданы два целых числа. Создайте одномерный массив, заполнив его целыми числами от минимального исходного числа до максимального.
Формат входных данных
Два целых числа, записанные в одной строке через пробел: a и b (-105 <= a, b <= 105).
Формат входных данных
Выведите получившийся массив в одну строку, разделяя элементы одним пробелом
| |
|
|
Массив
Одномерные массивы
У Пети есть массив отсортированных в порядке неубывания натуральных чисел. Известно, что чисел N. Петя пытливый мальчик, поэтому хочет найти в массиве три числа x, y и z (x <= y <= z), такие, что сумма (x - y)2 + (x - z)2 + (z - y)2 была бы максимальна. Помогите ему в этом.
Формат входных данных
В первой строке входного файла находится число N> (3<=N <= 100000). На следующей строке находятся N натуральных чисел, каждое из которых не превышает 10000.
Формат выходных данных
Нужно вывести три числа x, y и z в порядке возрастания. Если вариантов такой тройки несколько, вывести любой.
| Ввод |
Вывод |
4
1 2 3 5 |
1 2 5 |
| |
|
|
Циклический сдвиг влево
Одномерные массивы
Работа с элементами (вставка, удаление, сдвиг)
Дан массив из N элементов (N<=100)
Напишите программу, которая осуществляет циклический сдвиг влево элементов, стоящих на нечетных местах (нумерация элементов начинается с 0).
Входные данные
В первой строке вводится значение N. Далее во второй строке, вводится N чисел
Выходные данные
Вывести все элементы преобразованного массива.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
1 2 3 4 5 6
|
1 4 3 6 5 2
|
| |
|
|
Перестановки
Простые числа и разложение на множители
Одномерные массивы
Ваня и Петя играют в следующую игру. Ваня пишет на бумаге какую-либо перестановку чисел от 1 до N (то есть выписывает все числа от 1 до N в некотором порядке) и расставляет на столе в ряд N предметов. После этого Петя переставляет предметы в соответствии с Ваниной перестановкой. А именно, Петя выполняет следующие действия: если i-ое число в Ваниной перестановке равно ai, то Петя ставит предмет, который стоит на i-ом месте, на место с номером ai.
Обозначим предметы числами от 1 до N. Тогда начальное расположение предметов можно обозначить последовательностью чисел (1, 2, ..., N). К примеру, если N = 5, то начальное расположение предметов есть (1, 2, 3, 4, 5). Пусть Ваня написал перестановку <2, 5, 4, 3, 1>. Это значит, что после перемещения предметов они окажутся расставлены в следующем порядке: (5, 1, 4, 3, 2).
Однако, переставив предметы, Петя не останавливается на достигнутом и вновь переставляет их в соответствии с Ваниной перестановкой. Снова, если i-ое число в Ваниной перестановке равно ai, то Петя ставит предмет, который стоит на i-ом месте на место с номером ai. Так, если в приведенном выше примере повторно применить перестановку, предметы окажутся расположены в следующем порядке: (2, 5, 3, 4, 1).
Таким образом, Петя переставляет предметы в соответствии с Ваниной перестановкой, пока их расположение не окажется таким же, как исходное. В нашем примере Пете потребуется сделать еще 4 действия, порядок предметов после каждого из них будет следующим: (1, 2, 4, 3, 5), (5, 1, 3, 4, 2), (2, 5, 4, 3, 1), (1, 2, 3, 4, 5). Всего Пете потребовалось применить перестановку 6 раз.
Добрый Ваня хочет, чтобы Пете пришлось выполнить как можно больше действий. Помогите ему выбрать соответствующую перестановку.
Входные данные
Вводится единственное целое число N - количество предметов (1 <= N <= 100).
Выходные данные
Выведите перестановку чисел от 1 до N такую, что количество действий, которое придется сделать Пете, максимально. Если таких перестановок несколько, можно вывести любую.
| |
|
|
Куб
Одномерные массивы
Условный оператор
Петя склеил из N3 единичных кубиков большой куб размером N × N × N. Устав от этой сложной работы, он отправился спать, а утром, проснувшись, с ужасом обнаружил, что его младший брат Ваня K раз проткнул куб спицей.
При этом Ваня действовал очень аккуратно, каждый раз установив конец спицы точно в центр грани какого-нибудь граничного единичного кубика, он протыкал куб параллельно соответствующей оси координат, при этом целый ряд из N кубиков оказывался испорчен.
Немного успокоившись после этого тяжелого потрясения, Петя заинтересовался, сколько кубиков в его творении осталось неповрежденными. Помогите ему ответить на этот сложный вопрос.
Входные данные
В первой строке вводятся числа N и K (1 <= N <= 1000, 0 <= K <= 150). Следующие K строк описывают Ванины преступные действия. Каждая строка содержит три числа - два из них представляют собой соответствующие координаты всех кубиков, проткнутых спицей, а третье, соответствующее координате, в направлении которой был проткнут куб, равно 0. Например, если N = 3, тройка (1, 0, 3) означает, что спицей были проткнуты кубики (1, 1, 3), (1, 2, 3) и (1, 3, 3). Все координаты лежат в пределах от 1 до N. Известно, что Ваня никакое действие не выполнял два раза (т.е. никакая тройка не встретится во входных данных дважды).
Выходные данные
Выведите единственное число - количество неповрежденных кубиков.
| |
|
|
Простые числа
Простые числа и разложение на множители
Одномерные массивы
Вывести все простые числа от M до N включительно.
Входные данные
В первой строке находятся разделённые пробелом M и N. 2 <= M <= N <= 300 000.
Выходные данные
Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых - вывести "Absent".
| |
|
|
Покер
Одномерные массивы
Даны 5 целых чисел. Среди них:
* если одинаковы 5, то вывести "Impossible", иначе
* если одинаковы 4, то вывести "Four of a Kind", иначе
* если одинаковы 3 и 2, то вывести "Full House", иначе
* если есть 5 последовательных, то вывести "Straight", иначе
* если одинаковы 3, то вывести "Three of a Kind", иначе
* если одинаковы 2 и 2, то вывести "Two Pairs", иначе
* если одинаковы 2, то вывести "One Pair", иначе
* вывести "Nothing".
Входные данные
В первой строке находятся 5 чисел через пробел. Все числа от 1 до 13 включительно.
Выходные данные
Выводится одна строка - результат анализа.
| |
|
|
Простые числа(2)
Простые числа и разложение на множители
Одномерные массивы
Вывести все простые числа от M до N включительно.
Входные данные
В первой строке находятся разделённые пробелом M и N. 2 <= M <= N <= 1 000 000.
Выходные данные
Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых - вывести "Absent".
| |
|
|
Два массива - 2
Сортировка слиянием
Одномерные массивы
Алиса со своим отцом профессором Селезневым записывают на листочке числа. Алиса записала n чисел, профессор Селезнев - m чисел. Алиса и профессор будут рады, если они записали одни и те же числа (без учета кратности). Помогите им определить это, так как им необходимо срочно улетать в очередное космическое путешествие.
Входные данные
В первой строке содержится число n (1 <= n <= 100000) - количество чисел, записанных Алисой. Во второй строке идет n целых чисел, не превосходящих по модулю 10 9 – числа Алисы. Третья строка содержит целое число m - количество чисел, записанных профессором Селезневым (1 <= m <= 100000) . В четвертой строке идет m целых чисел, не превосходящих по модулю 10 9 – числа профессора Селезнева.
Выходные данные
Выведите YES, если профессор и Алиса записали одни и те же числа, и слово NO в противном случае.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
2 0 7
4
2 0 0 7 |
YES |
| |
|
|
Забавный конфуз
Линейный поиск
Целые числа
Одномерные массивы
Пусть A — массив, состоящий из N элементов A1,...,AN. Обозначим его максимальноеи минимальное значение как max(A) и min(A) соответственно. Вычислим сумму элементов S, S=A1+A2+…+AN. Заменим каждый элемент массива на разницу S и этого элемента: Ai:=S-Ai, 1≤i≤N. Такое преобразование массива A назовем операцией Confuse. Напишите программу, которая по массиву B, полученному в результате K–кратного применения операции Confuse к некоторому массиву A, вычислит разность max(A)-min(A).
Входные данные
Первая строка входного файла содержит целые числа N и K, где N — количество элементов массива B (2 ≤ N ≤ 10000), а K — количество применений операции Confuse к начальному массиву A, 1 ≤ K ≤ 100. Вторая строка файла содержит N элементов массива B. Элементы массива B — целые числа, принадлежащие диапазону от -2 000 000 000 до 2 000 000 000.
Выходные данные
Единственная строка выходного файла должна содержать целое число - разность max(A) и min(A).
| |
|
|
Линейный поиск - 3
Одномерные массивы
Напишите программу, которая выводит номера элементов массива, равных данному числу.
Входные данные
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.
Во второй строке вводятся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
В третьей строке содержится одно целое число x, не превосходящее по модулю 1000.
Выходные данные
Вывести номера элементов, равных данному, в порядке возрастания. Если таких элементов нет, ничего выводить не нужно.
| |
|
|
Максимальный элемент массива
Одномерные массивы
Напишите программу, которая находит значение максимального элемента массива.
Входные данные
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.
Во второй строке вводятся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
Выходные данные
Вывести одно число – значение максимального элемента в массиве.
| |
|
|
66173
Одномерные массивы
Использование сортировки
Цикл for
Автомат получает на вход последовательность натуральных чисел и работает с ними по следующим правилам:
1)Если число кратно 3, автомат добавляет его значение в первуюконтрольную сумму.
2)Если число не кратно 3, автомат добавляет его значение вовторую контрольную сумму.
После обработки последовательности автомат удваивает большую контрольную сумму, утраивает меньшую контрольную сумму, складывает их и выводит результат.
Располагая последовательностью, определите, какой результат выведет автомат.
Формат ввода
На вход программе в первой строке подается натуральное число N (5 ≤ N ≤ 10000) – количество чисел. Далее в N строках подаётся по одному натуральному числу, не превышающему 1000.
Формат вывода
Вывести одно целое число – результат обработки последовательности, который можно получить по правилам, описанным в условии задачи.
| |
|
|
66181
Одномерные массивы
Администраторы Шлёпов и Чадов анализируют работу свиноферм в районе. В их распоряжении данные по свиноводческим хозяйствам, в том числе поголовье стада в каждом. Хозяйства со слишком низким поголовьем не представляют интереса для их работы и отбрасываются: слишком низким считается поголовье свиного стада, не превышающее 10% от поголовья самого большого стада в районе. Остальные свинофермы они выбирают для работы. Определите моду – наиболее часто встречающееся значение поголовья – на выбранных свинофермах.
Формат ввода
На вход программе в первой строке подаётся натуральное число N (N ≤ 1000) – количество хозяйств. Далее в N строках идёт по одному натуральному числу ki – поголовье свиного стада в хозяйстве номер i (1≤ ki ≤10000 голов).
Формат вывода
Выведите одно целое число – наиболее часто встречающееся значение поголовья на выбранных свинофермах. Если таких значений несколько, выведите наибольшее. Если таких значений нет, выведите 0.
| |
|
|
Выбрать по делителям - Копия
Одномерные массивы
Дан массив чисел. Необходимо записать в другой массив все трёхзначные числа исходного списка, которые делятся на K и не делятся на M .
Входные данные
Первая строка содержит количество чисел – N . Во второй строке через пробел задаются N чисел – элементы массива (положительные целые числа не более 105). Гарантируется, что 0 < N <= 10000 . В третьей строке через пробел записаны два числа – K (1 < K <= 100) и M (1 <= M <= 100).
Выходные данные
Программа должна вывести в одну строчку все элементы нового массива, разделяя их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
Примечание. В Питоне «массив» = «список».
| |
|
|
Использование массивов
Одномерные массивы
Для каких из следующих данных НЕ подходит массив:
1. хранение оценок ученика за двенадцать промежуточных экзаменов;
2. хранение имени, номера социального обеспечения, возраста и дохода одного человека;
3. хранение температуры, принятой за каждый час в течение дня;
4. хранение общего объема продаж в магазине, за каждый из двенадцати месяцев.
| |
|
|
Задача
Одномерные массивы
Для чего производится описание массивов?
1) чтобы самому запомнить сколько ячеек в массиве
2) чтобы компьютер запомнил имя массива
3) чтобы компьютер зарезервировал память для хранения элементов массива
4) чтобы компьютер зарезервировал количество энергии для обработки массива
| |
|
|
23442
Одномерные массивы
В каком случае массив описан правильно?
1. A: array of integer;
2. A: array [1...3] of integer;
3. A: arra of integer [1...3];
4. A: array [1..3] of integer;
| |
|
|
1155
Одномерные массивы
Выберите строку, в которой правильно объявлен массив A, состоящий из 10 строк
1) string A [10];
2) string A[9];
3) string A[0..9];
4) string A[0..10];
| |
|
|
1135
Одномерные массивы
Сколько элементов содержит массив, объявленный как int А[10]?
1) 20
2) 9
3) 10
4) 11
| |
|
|
1124
Одномерные массивы
В записи D[4]:=3.5, D обозначает…
Ответ: 1) Имя ячейки 2) Имя массива 3) Обозначение типа 4)переменная вещественного типа
| |
|
|
1116
Одномерные массивы
Значение Рn(х) = а0хn + a1хn-1 + ...+ аn можно найти фрагментом алгоритма... Ответ: 1) S := а[1] 2) for i:= 2 to n do S := S*х 3) 4)S := а[n]
| |
|
|
989
Одномерные массивы
Выберите наиболее правильное продолжение фразы: "Массив - это ..." Ответ: 1) Ограниченная упорядоченная совокупность однотипных величин 2) Ограниченная совокупность различных элементов 3) Совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам 4)нет правильного утверждения
| |
|
|
930
Одномерные массивы
Индексом элемента называется…
Ответ: 1) Номер элемента в массиве 2)Значение элемента массива 3)Последний элемент в массиве 4)Индексная переменная
| |
|
|
797
Одномерные массивы
Фрагмент р : = 1; for i:=1 to n do р := p*x[i]; находит ... Ответ: 1) произведение натуральных последовательных чисел 2) 3) произведение элементов заданного ряда чисел 4)
| |
|
|
796
Одномерные массивы
Фрагмент s : = х[1]; for i:=1 to n do if s > x[i] то s := х[i]; находит... Ответ: 1) минимальный элемент массива чисел X 2)сумму отрицательных элементов X 3) 4)индекс минимального элемента X
| |
|
|
795
Одномерные массивы
Выберите строку, в которой правильно объявлен массивA, состоящий из 10 строк
Ответ: 1) a : array [1..10] of string 2) 3)a : array [10] string 4)
| |
|
|
293
Одномерные массивы
Что выполняет следующий фрагмент программы?
...
int random(int N)
{
return rand()%N;
}
...
main()
{
const int N = 10;
int A[N], i;
printf("Исходный массив:\n");
for (i=0; i
1) Заполняет массив случайными числами и не выводит их на печать.
2) Заполняет массив случайными числами и выводит их на печать.
3) Заполняет массив одинаковыми числами и выводит их на печать.
4) Исходный фрагмент содержит ошибку
| |
|
|
292
Одномерные массивы
Что может содержать в себе ячейка массива ?
Варианты:
1) только строковые данные
2) только отрицательные числа
3) числа совпадающие с номером ячейки
4) любые данные
| |
|
|
291
Одномерные массивы
Выберите наиболее правильное продолжение фразы: "Массив - это ..."
Ответ:
1) Ограниченная упорядоченная совокупность однотипных величин
2) Ограниченная совокупность различных элементов
3) Совокупность ограниченного числа логически связанных компонент, принадлежащих к разным типам
4)нет правильного утверждения
| |
|
|
226
Одномерные массивы
Что производит следующий фрагмент программы?
for (i=0; i<n; i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
Варианты:
1) Ввод элементов массива с клавиатуры;
2) Вывод элементов массива на экран монитора;
3) Ввод элементов массива из файла;
4) Ввод элементов массива с клавиатуры и вывод его на экран;
| |
|
|
148
Одномерные массивы
#include <stdio.h>
#include <stdlib.h>
int random(int N) { return rand() % N; }
main()
{
const int N = 10;
int A[N], i;
printf("Исходный массив:\n");
for (i=0; i<N; i++) {
A[i] = random(26) - 50;
printf("%4d", A[i]);
}
Значения элементов массива A будут находиться в диапазоне...
Варианты:
1) от -50 до 25
2) от -24 до 25
3) от -50 до -25
4) от -25 до 0
| |
|
|
146
Одномерные массивы
#include <stdio.h>
#include <stdlib.h>
int random(int N) { return rand() % N; }
main()
{
const int N = 10;
int A[N], i;
printf("Исходный массив:\n");
for (i=0; i<N; i++) {
A[i] = random(100) + 50;
printf("%4d", A[i]);
}
Значения элементов массива A будут находиться в диапазоне...
Варианты:
1) от 0 до 149
2) от 0 до 150
3) от 50 до 150
4) от 50 до 149
| |
|
|
145
Одномерные массивы
Как задать элементу массива случайное целое число в диапазоне от -50 до 50, если в программе определена функция int random(int N) { return rand() % N; }?
Варианты
1) x[i]=random(-50)+50;
2) x[i]=random(100)-50;
3) x[i]=random(101)-50;
4) x[i]=random(50)-50;
| |
|
|
144
Одномерные массивы
Что производит следующий фрагмент программы?
for (i=0; i<n;i++) printf("%d'',a[i]'');
Варианты:
1) Ввод элементов массива с клавиатуры.
2) Вывод элементов массива на экран монитора.
3) Ввод элементов массива из файла.
4) Вывод элементов массива в файл
| |
|
|
143
Одномерные массивы
Для чего производится описание массивов ?
Варианты:
1) Чтобы помнить самому сколько ячеек в массиве
2) Чтобы ЭВМ запомнила имя массива
3) Чтобы ЭВМ зарезервировала память для хранения элементов массива
4) Чтобы ЭВМ зарезервировала электричество для обработки массива
| |
|
|
142
Одномерные массивы
Какое значение из предложенных может принимать индекс массива, объявленный как int R[55]?
1) -55
2) 55
3) 56
4) 44
| |
|
|
141
Одномерные массивы
Можно ли в массиве изменить значения элементов массива?
Варианты:
1)нельзя
2)можно
3)только в числовых массивах
4)только в символьных массивах
| |
|
|
140
Одномерные массивы
Что такое индекс массива?
Ответ:
1) Размерность элементов массива
2) Глубина элементов массива
3) Ширина элементов массива
4) Номер элементов массива.
| |
|
|
139
Одномерные массивы
Индексом элемента называется…
1) Номер элемента в массиве
2) Значение элемента массива
3) Последний элемент в массиве
4) Индексная переменная
| |
|
|
138
Одномерные массивы
В записи D[4]=3.5, D обозначает…
Ответ: 1) Имя ячейки 2) Имя массива 3) Обозначение типа 4)переменная вещественного типа
| |
|
|
Топ-3 результата на соревнованиях
Использование сортировки
Одномерные массивы
На соревнованиях по прыжкам в длину зафиксированы результаты спортсменов. На вход подаётся число \(N\) — количество спортсменов. Затем вводятся \(N\) целых чисел (каждое с новой строки) — дальность прыжка в сантиметрах.
Программа должна:
- Собрать все числа в список
- Отсортировать список по возрастанию
- Вывести отсортированный список
- Вывести три наибольших значения (последние 3 элемента отсортированного списка)
Формат входных данных
Первая строка — целое число \(N\) (\(3 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от 100 до 900).
Формат выходных данных
Первая строка — отсортированный список в формате [a, b, c, ...].
Вторая строка — три наибольших значения в формате Топ-3: [x, y, z].
| |
|
|
Размах списка
Одномерные массивы
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Вычислите размах — разницу между максимальным и минимальным числом.
Выведите две строки:
- Исходный список — числа через пробел.
- Размах (максимум минус минимум).
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Первая строка — исходный список через пробел.
Вторая строка — размах.
| |
|
|
Больше среднего
Одномерные массивы
Алгоритмы обработки
Вычисление по заданной формуле
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Вычислите среднее арифметическое. Выведите три строки:
- Исходный список — числа через пробел.
- Среднее арифметическое, округлённое до 1 знака после запятой.
- Числа, которые строго больше среднего, через пробел (в порядке ввода). Если таких нет — пустая строка.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Первая строка — исходный список через пробел.
Вторая строка — среднее с одним знаком после запятой.
Третья строка — числа больше среднего через пробел.
| |
|
|
Минимум и максимум
Одномерные массивы
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Выведите три строки:
- Исходный список — числа через пробел.
- Минимальное число.
- Максимальное число.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Первая строка — исходный список через пробел.
Вторая строка — минимальное число.
Третья строка — максимальное число.
| |
|
|
Среднее арифметическое
Вычисление по заданной формуле
Одномерные массивы
Строки
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Выведите две строки:
- Исходный список — числа через пробел.
- Среднее арифметическое, округлённое до 1 знака после запятой.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Первая строка — исходный список через пробел.
Вторая строка — среднее арифметическое с одним знаком после запятой.
Примечание
Подсказка: среднее = сумма / количество. Для вывода используйте round(x, 1).
| |
|
|
Сумма элементов
Одномерные массивы
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Выведите две строки:
- Исходный список — числа через пробел.
- Сумму всех чисел.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Первая строка — исходный список через пробел.
Вторая строка — сумма элементов.
| |
|
|
Слова по длине
Строки
Использование сортировки
Одномерные массивы
Пользователь вводит количество слов, а затем сами слова — каждое на отдельной строке. Сохраните все слова в список.
Выведите две строки:
- Исходный список — слова через пробел в порядке ввода.
- Отсортированный список — слова через пробел по возрастанию длины. Если длины равны, сохраните порядок ввода.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 15\)).
Следующие \(N\) строк — по одному слову (строчные русские буквы, без пробелов).
Формат выходных данных
Две строки: исходный список и отсортированный по возрастанию длины, слова через пробел.
Примечание
Подсказка: используйте key=len в функции sorted().
| |
|
|
Слова по алфавиту
Использование сортировки
Строки
Одномерные массивы
Пользователь вводит количество слов, а затем сами слова — каждое на отдельной строке. Сохраните все слова в список.
Выведите две строки:
- Исходный список — слова через пробел в порядке ввода.
- Отсортированный список — слова через пробел в алфавитном порядке.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 15\)).
Следующие \(N\) строк — по одному слову (строчные русские буквы, без пробелов).
Формат выходных данных
Две строки: исходный список и отсортированный по алфавиту, слова через пробел.
| |
|
|
Числа по возрастанию
Одномерные массивы
Использование сортировки
Алгоритмы обработки
Пользователь вводит количество чисел, а затем сами числа — каждое на отдельной строке. Сохраните все числа в список.
Выведите две строки:
- Исходный список — числа через пробел в порядке ввода.
- Отсортированный список — числа через пробел по возрастанию.
Формат входных данных
Первая строка — целое число \(N\) (\(1 \le N \le 20\)).
Следующие \(N\) строк — по одному целому числу (от \(-1000\) до \(1000\)).
Формат выходных данных
Две строки: исходный список и отсортированный по возрастанию, числа через пробел.
| |
|
|
Фильтрация коротких слов
Строки
Одномерные массивы
Алгоритмы обработки
Пользователь вводит слова через пробел в одной строке. Сохраните в список только те слова, длина которых строго больше 3. Выведите получившийся список — слова через пробел в том порядке, в котором следуют во входных данных.
Формат входных данных
Одна строка — слова через пробел (от 1 до 20 слов).
Формат выходных данных
Одна строка — слова с длиной больше 3 через пробел. Если таких слов нет, выведите пустую строку.
| |
|
|
Чтение пяти чисел в список
Одномерные массивы
Пользователь вводит 5 целых чисел, каждое на отдельной строке. Сохраните их в список и выведите все числа в одну строку через пробел.
Формат входных данных
Пять строк, в каждой — одно целое число (от \(-1000\) до \(1000\)).
Формат выходных данных
Одна строка — пять чисел через пробел.
| |
|
|
The Cow-Signal
Алгоритмы обработки
Одномерные массивы
Беси и её подружки играют в супергероев. Все знают, что каждый супергерой
имеет сигнал, призывающий его к действию. Беси нарисовала специальный сигнал
на листке бумаги размером \(M \times N\) (\(1 \leq M \leq 10, 1 \leq N \leq 10\)),
но он получился очень маленький. Беси хочет его увеличить ровно в
K (\(1 \leq K \leq 10\)) раз в каждом направлении.
Этот сигнал состоит только из символов '.' и 'X'.
ФОРМАТ ВВОДА (файл cowsignal.in):
Первая строка ввода содержит \(M\), \(N\), \(K\), разделённые одиночными пробелами.
Каждая из следующих \(M\) строк содержит строку символов длиной \(N\).
Все вместе они и описывают сигнал.
ФОРРМАТ ВВОДА (файл cowsignal.out):
Вы должны вывести \(KM\) строк, каждая с \(KN\) символами, представляющими
картинку увеличенного сигнала.
| |
|
|
Разница между максимальным и минимальным
Алгоритмы обработки
Одномерные массивы
Дано количество целых чисел n. Далее в n строках вводятся целые числа. Найти разницу между максимальным и минимальным элементами последовательности.
Формат входных данных
Формат выходных данных
| |
|
|
Подсчёт голосов за любимого героя
Цикл for
Одномерные массивы
В Discord-канале провели голосование за любимого персонажа из игры Brawl Stars. Участники голосовали числами от 1 до 5, где каждое число — это конкретный персонаж:
-
1 — Шелли
-
2 — Кольт
-
3 — Спайк
-
4 — Леон
-
5 — Crow
Напишите программу, которая запрашивает у пользователя информацию (см входные данные) и подсчитывает, сколько человек проголосовало за Леона
Входные данные:
Выходные данные: количество голосов за Леона
| |
|
|
Сумма между a и b
Цикл for
Одномерные массивы
Найдите сумму всех целых чисел, расположенных между двумя целыми числами a и b (включая a и b).
Формат входных данных
В первой строке записано целое число a, во второй - целое число b (-1000 <= a, b <= 1000).
Формат выходных данных
Выведите искомую сумму.
| |
|
|
Проверка палиндромности последовательности ДНК - 2
Строки
Одномерные массивы
Последовательность называется палиндромной, если она читается одинаково в прямом и обратном направлении. В биоинформатике проверка палиндромов может быть полезна, например, для анализа определенных участков ДНК, таких как сайты рестрикции, которые часто имеют палиндромную структуру.
Формат входных данных
В единственной строке дана последовательность ДНК
Формат выходных данных
Выведите "Yes" если последовательность является палиндромной и "No" если не является. Если последовательность не является ДНК выведите "Error".
| |
|
|
Максимальный - вперед
Алгоритмы обработки
Одномерные массивы
Требуется поменять местами первый элемент массива с максимальным.
Входные данные
В первой строке вводится одно натуральное число, не превосходящее 1000 – размер массива. Во второй строке задаются N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
Выходные данные
Вывести получившийся массив. Если максимальных элементов несколько, требуется поменять первый из них.
| |
|
|
Номер максимального элемента массива
Алгоритмы обработки
Одномерные массивы
Напишите программу, которая находит номер максимального элемента массива.
Входные данные
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива.
Во второй строке вводится N чисел – элементы массива (целые числа, не превосходящие по модулю 1000).
Выходные данные
Вывести одно число – номер максимального элемента в массиве. Если в массиве несколько максимальных элементов, выведите номер любого из них.
| |
|
|
Перестановка двух элементов - 4
Алгоритмы обработки
Одномерные массивы
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет максимальное значение. Если максимальных элементов несколько, то необходимо взять последний из них (максимальный элемент с большим индексом). Индексация элементов начинается с 0.
Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.
Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N
Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 2
1 -2 -1 2 -2
|
1 -2 2 -1 -2
|
| |
|
|
Максимальная и минимальная четная цифра (java)
Цикл while
Одномерные массивы
Дано натуральное число N (\(N<=10^9\)). Определить его максимальную четную и минимальную четную цифры.
Входные данные
На вход подается одно число.
Выходные данные
Выведите через пробел два числа: сначала минимальную четную цифру, затем максимальную. Если четных цифр в числе нет, выведите NO.
Гарантируется, что если в числе есть четные цифры, то их не менее двух.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
45545 |
4 4 |
| 2 |
111 |
NO |
| |
|
|
Новый вопрос
Одномерные массивы
| |
|
|
Количество различных элементов в монотонном массиве
Одномерные массивы
Алгоритмы обработки
Дан массив, состоящий из целых чисел. Известно, что числа упорядочены по неубыванию (то есть каждый следующий элемент не меньше предыдущего). Напишите программу, которая определит количество различных чисел в этом массиве.
Входные данные
Сначала задано число N - количество элементов в массиве (1 <= N <= 100). Далее через пробел записаны N чисел - элементы массива. Массив состоит из целых чисел, находящихся в пределах от -231 до 231
Выходные данные
Необходимо вывести единственное число - количество различных чисел в массиве.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 1 1 2 2 |
2 |
| |
|
|
ASCII график
Алгоритмы обработки
Одномерные массивы
Недавно Вася решил всерьез заняться машинным обучением и распознаванием образов. Однако, наука это обширная, а начинать с чего-то надо, поэтому его учитель информатики посоветовал ему начать с анализа ASCII рисунков.
Он дал Васе рисунок ASCII-графика, который выглядит следующим образом: он представляет собой прямоугольник n × m, состоящий из символов «*» и «.». Левая верхняя клетка прямоугольника считается началом координат — точкой (0, 0), верхняя строка таблицы — осью OX, направленной слева направо, а левый столбец — осью OY, направленной сверху вниз. Таким образом, клетка (x, y) таблицы отвечает за точку (x, y) на графике функции, и если в этой клетке таблицы стоит «*», то f(x) = y, а противном случае в клетке таблицы стоит «.». Гарантируется, что функция, график которой дан Васе, непрерывна и однозначно определена на всем промежутке, то есть:
В каждом столбце таблицы стоит ровно один символ «*»;
В соседних столбцах символы «*» находятся либо в соседних по стороне, либо в соседних по углу клетках.
Для начала, чтобы проанализировать этот график, Вася хочет найти количество локальных максимумов в нем, то есть таких x, что f(x - 1) < f(x) > f(x + 1) (если одно из значений f(x - 1) или f(x + 1) не определено, счиается, что неравенство выполняется).
Входные данные
В первой строке входного находятся два натуральных числа n и m — количество строк и количество столбцов в таблице соответственно (1 ≤ n, m ≤ 100).
В каждой из следующих n строк содержится строка из m символов — описание таблицы. Гарантируется, что таблица представляет собой график функции, описанной в условии.
Выходные данные
В единственной строке выведите одно число — количество локальных максимумов в
данном графике функции.
| Ввод |
Вывод |
3 7
*.*...*
.*.*.*.
....*..
|
2 |
3 5
.....
****.
....*
|
1 |
| |
|
|
Обращение к символам
Строки
Одномерные массивы
На вход программе подаются две строки:
в первой строке задается слово s;
во второй - три целых числа a, b, c (каждое число находится в диапазоне [1; length(s)])
Выведите на экран новое слово, образованное символами, стоящими на местах a, b, c (в указанном порядке).
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
информатика
3 4 5 |
фор |
| |
|
|
Генераторы
Одномерные массивы
Ввод, вывод данных
На вход подается число N - количество элементов массива.
Далее идут два массива из N целых чисел каждый:
элементы первого массива идут по одному в каждой строке,
элементы второго массива - записаны все в одной строке через пробел
Заполните два массива и выведите их элементы через пробел в одну строку:
первый массив в первой строке
второй массив во второй строке
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
1
2
3
4 5 6 |
1 2 3
4 5 6 |
| |
|
|
Дополнительные способы работы с элементами массива
Одномерные массивы
Алгоритмы обработки
Ввод, вывод данных
На вход подается число N - количество элементов массива.
Далее идут два массива из N целых чисел каждый: элементы первого массива идут по одному в каждой строке, элементы второго массива - записаны все в одной строке через пробел.
Заполните два массива и выведите их элементы через пробел в одну строку: первый массив в первой строке, второй массив во второй строке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
1
2
3
4 5 6 |
1 2 3
4 5 6 |
| |
|
|
Слова трёх
Множества
Одномерные массивы
Маша, Даша и Миша написали по слову. Маша считает, что для записи всех трех слов использовался один и тот же набор букв. Напишите программу, которая бы определяла верно ли считает Маша.
Формат входных данных
Даны три слова, по одному слову в строке
Формат выходных данных
Если все три слова составлены из одного набора букв, то выведите этот набор в лексикографическом порядке, в противном случае выведите -1
| |
|
|
Срезы
Строки
Одномерные массивы
При решении задачи используйте срезы.
Входные данные
Дана строка.
Выходные данные
Выведите на экран:
- сначала третий символ этой строки;
- во второй строке предпоследний символ этой строки;
- в третьей строке первые пять символов этой строки;
- в четвертой строке всю строку, кроме последних двух символов;
- в пятой строке все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого);
- в шестой строке все символы с нечетными индексами, то есть начиная со второго символа строки;
- в седьмой строке все символы в обратном порядке;
- в восьмой строке все символы строки через один в обратном порядке, начиная с последнего;
- в девятой строке длину данной строки.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
Abrakadabra |
r
r
Abrak
Abrakadab
Arkdba
baaar
arbadakarbA
abdkrA
11 |
| |
|
|
Обращение к символам
Строки
Одномерные массивы
На вход программе подаются две строки:
- в первой строке задается слово s;
- во второй - три целых числа a, b, c (каждое число находится в диапазоне [-len(s); len(s)-1])
Выведите на экран новое слово, образованное символами с индексами a, b, c (в указанном порядке)
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
информатика
2 3 4 |
фор |
| |
|
|
Номер максимального - 4
Алгоритмы обработки
Цикл for
Одномерные массивы
Даны натуральное число n и целые числа a1, a2, ..., an. Найти номер минимального четного числа. Если чисел с минимальным четным значением несколько, то должен быть найден номер первого из них.
Входные данные: в первой строке вводится число N - количество чисел в последовательности (0<N<100), а затем N целых чисел.
Выходные данные: выведите ответ на задачу
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
4
9
6
-3
-4
8
-2 |
5 |
| |
|
|
* Две самые большие цифры
Алгоритмы обработки
Строки
Одномерные массивы
Дано натуральное число N (\(N<=10^9\)). Определить две самые большие цифры числа.
Входные данные
На вход подается одно число (число содержит как минимум 2 различные цифры).
Выходные данные
Выведите две цифры через пробел, сначала наибольшую цифру числа, затем вторую по величине (не равную первой наибольшей цифре).
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
45545 |
5 4 |
| 2 |
1113 |
3 1 |
| |
|
|
Максимальная и минимальная четная цифра
Цикл for
Строки
Одномерные массивы
Дано натуральное число N (\(N<=10^9\)). Определить его максимальную четную и минимальную четную цифры.
Входные данные
На вход подается одно число.
Выходные данные
Выведите через пробел два числа: сначала минимальную четную цифру, затем максимальную. Если четных цифр в числе нет, выведите NO.
Гарантируется, что если в числе есть четные цифры, то их не менее двух.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
45545 |
4 4 |
| 2 |
111 |
NO |
| |
|
|
Обработка вводимых чисел - 10
Алгоритмы обработки
Одномерные массивы
Дана последовательность чисел. Выяснить, сколько раз в ней встречается минимальное число
Входные данные: Вводится сначала число N - количество членов последовательности, а затем N чисел - члены последовательности
Выходные данные: Выведите ответ на задачу
Примеры:
Входные данные
7
2
4
2
5
2
5
3
Выходные данные
3
| |
|
|
Обработка вводимых чисел - 7
Алгоритмы обработки
Цикл for
Одномерные массивы
Дана последовательность целых чисел. Найти в ней наименьшее нечетное число. В последовательности имеется как минимум одно нечетное число
Входные данные: В первой строке вводится число N - количество чисел в последовательности, а затем N целых чисел, по одному в строке.
Выходные данные: Выведите ответ на задачу
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
4
2
5
-1
-4
6
-2 |
-1 |
| |
|
|
Выбрать повторяющиеся
Алгоритмы обработки
Словари
Одномерные массивы
Дан массив чисел. Необходимо выбрать в другой массив все элементы исходного массива, которые встречаются более одного раза.
Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел – элементы массива ai (-109<=ai<=109). Гарантируется, что 0 < N <= 10000.
Выходные данные
Программа должна вывести в одной строке через пробел все элементы исходного массива, которые встречаются более одного раза, в том же порядке, в каком они встречаются в первом массиве. Если таких нет, нужно вывести число 0.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
6
4 1 2 1 2 3 |
1 2 |
| |
|
|
Самая длинная цепочка
Алгоритмы обработки
Одномерные массивы
Напишите программу, которая в исходном массиве чисел находит самую длинную цепочку, состоящую из одинаковых элементов. Выведите элемент, из которого состоит данная цепочка и длину этой цепочки. Если в массиве есть несколько цепочек максимальной длины, нужно вывести данные по первой из них.
Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 3 < N ≤ 10000.
Выходные данные
Выведите элемент, из которого состоит искомая цепочка и длину этой цепочки.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
1 2 2 1 1 1 3 |
1 3 |
| |
|
|
Количество различных элементов
Алгоритмы обработки
Одномерные массивы
Дан упорядоченный по неубыванию список чисел. Определите, сколько в нем различных элементов.
Входные данные
Вводится список чисел. Все числа списка находятся на одной строке. Количество чисел не больше 1000. Каждое число по модулю меньше 2*109.
Выходные данные
Выведите ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
1 2 2 3 3 3 |
3 |
Примечание
Для считывания данных на языке С++ используйте цикл
while(cin >> a)
{
// работа с числом a
}
Считать данные на языке Python можно сразу в массив
A = list(map(int, input().split()))
| |
|
|
Шеренга
Алгоритмы обработки
Одномерные массивы
Петя перешёл в другую школу. На уроке физкультуры дети строятся по росту, начиная с самого высокого. Напишите программу, которая поможет Пете определить свое место в строю.
Входные данные
Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого учащегося в строю. После этого вводится число x – рост Пети. Все числа во входных данных натуральные и не превышают 200. Количество чисел в последовательности не превышает 200.
Выходные данные
Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
165 163 160 160 157 157 155 154
162 |
3 |
| 2 |
165 163 160 160 157 157 155 154
160 |
5 |
Примечание
Для считывания данных на языке С++ используйте цикл
while(cin >> a)
{
// работа с числом a
}
Обратите внимание, на языке С++ такой способ считывания считает сразу все данные из входного потока, включая последнюю строку.
Считать данные на языке Python можно сразу в массив
A = list(map(int, input().split()))
| |
|
|
Василий считает цифры
Условный оператор
Одномерные массивы
Василий придумал себе занятие пока сидит в очереди в регистратуру поликлиники. Рассматривая номера талонов у рядом сидящих людей (все талоны имеют четырехзначный номер), он решил посчитать, сколько талонов имеют номер с четной суммой цифр. Когда подошла очередь Василия, он уже разглядел номера у 4-х талонов.
Напишите программу, которая поможет Василию.
Входные данные
На вход программы подаются четыре четырехзначных числа, каждое в своей строке.
Выходные данные
Необходимо вывести одно число.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
1353
2349
6983
6346 |
3 |
| |
|
|
Про цифры
Условный оператор
Одномерные массивы
Дано трехзначное число. Какая цифра больше, вторая или последняя (если считать цифры слева направо)? Выведите наибольшую из этих цифр.
Входные данные
На вход подается одно натуральное число (100<=n<=999). Все цифры числа различные.
Выходные данные
Вывести ответ на задачу.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
354 |
5 |
| |
|
|
Генераторы списков
Одномерные массивы
Цикл for
Ввод, вывод данных
На вход подается число N - количество элементов массива.
Далее идут два массива из N целых чисел каждый:
- элементы первого массива идут по одному в каждой строке;
- элементы второго массива - записаны все в одной строке через пробел.
Заполните два массива и выведите их элементы через пробел в одну строку:
- первый массив в первой строке;
- второй массив во второй строке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3
1
2
3
4 5 6 |
1 2 3
4 5 6 |
| |
|
|
Сортировка по сумме цифр
Использование сортировки
Алгоритмы обработки
Одномерные массивы
Напишите программу, которая сортирует натуральные числа в массиве по убыванию суммы цифр десятичной записи числа. При равенстве сумм цифр числа должны сохранить исходный порядок.
Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
Программа должна вывести в одной строке элементы массива, отсортированного в порядке убыванию суммы цифр десятичной записи числа, разделив их пробелами.
| Ввод |
Вывод |
6
9 21 32 55 81 11 |
55 9 81 32 21 11 |
| |
|
|
Элементы, которые больше соседних
Алгоритмы обработки
Одномерные массивы
Дан массив, состоящий из целых чисел. Напишите программу, которая в данном массиве определит количество элементов, у которых есть два соседних элемента и при этом они оба меньше данного.
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.
Выходные данные
Необходимо вывести количество элементов массива, у которых два соседа и которые при этом строго больше обоих своих соседей.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5 |
0 |
| 2 |
5
1 5 1 5 1 |
2 |
| |
|
|
Пара соседних элементов с одинаковыми знаками
Алгоритмы обработки
Одномерные массивы
Дан массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара соседних элементов с одинаковыми знаками.
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=10000). Далее через пробел записаны N чисел — элементы массива. Массив состоит из ненулевых целых чисел, каждое число по модулю не больше 100.
Выходные данные
Необходимо вывести слово YES, если существует пара соседних элементов с одинаковыми знаками. В противном случае следует вывести слово NO.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 -3 4 -2 1 |
NO |
| |
|
|
Количество элементов, больших предыдущего
Алгоритмы обработки
Одномерные массивы
Дан массив, состоящий из целых чисел. Напишите программу, которая подсчитает количество элементов массива, больших предыдущего (элемента с предыдущим номером).
Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=10000). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел.
Выходные данные
Необходимо вывести единственное число - количество элементов массива, больших предыдущего.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5 |
4 |
| |
|
|
Вставка элемента в вектор
Алгоритмы обработки
Одномерные массивы
Дан массив из N положительных элементов, больших 1 (2<=N<=100). Вставить значение a перед всеми элементами, кратными а
Формат входных данных
На входе подаются в первой строке N - число элементов массива
Вторая строка содержит число a
Третья строка содержит N чисел - значения элементов массива
Все числа положительные не больше 100.
Формат выходных данных
Выведите результирующий массив в строку
| |
|
|
BalloonsBOOM
Алгоритмы обработки
Одномерные массивы
Любимая компьютерная игра Васи называется “Overtouched”. В начале игры на
экране появляются несколько рядов с разноцветными шариками. Игрок нажимает на любой шарик, после чего все шарики такого же цвета удаляются. После удаления все оставшиеся шарики сдвигаются влево так, чтобы в ряду между соседними шариками не оставалось пустых мест, порядок шариков в ряду при этом не изменяется.
Нужно вывести все оставшиеся шарики.
Формат входных данных:
Вводятся числа n и m (0 <n,m < 1^9999999999 + 11) – количество строк и шариков в каждой строке соответственно. Затем вводится цвет каждого шарика. В следующей строке вводится цвет шариков k, которые нужно удалить.
Формат выходных данных:
Выводятся оставшиеся шарики после удаления.
|
Ввод |
Вывод |
|
4 3
1 2 3
4 2 2
1 7 6
2 2 2
2
|
1 3
4
1 7 6
|
(с) Кабицкий А., 2018г.
| |
|
|
Лифт
Задачи на моделирование
Одномерные массивы
Лифт
В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при нажатии на вторую – опускается на один этаж вниз.
Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не побывает на каждом из этажей хотя бы по одному разу. После этого Дилли довольный возвращается домой.
Зная порядок, в котором Дилли нажимал на кнопки лифта, попробуйте определить общее количество этажей в доме Вилли и Дилли.
Входные данные
Первая строка входного файла INPUT.TXT содержит последовательность нажатий на кнопки лифта. Символ «1» означает, что была нажата первая кнопка, а символ «2» – что была нажата вторая кнопка. Символы «1» и «2» не разделены пробелами. Количество нажатий от 1 до 100. Гарантируется, что лифт никогда не опускался ниже первого и не поднимался выше последнего этажа.
Выходные данные
Следует вывести одно число – количество этажей в доме Вилли и Дилли.
|
Ввод |
Вывод |
|
11 |
3 |
|
21212 |
2 |
|
1221221221221 |
6 |
| |
|
|
Самый младший
Алгоритмы обработки
Одномерные массивы
Линейный поиск
В некотором списке записана информация о годе рождения каждого из N человек. Определить наибольший порядковый номер самого младшего по возрасту человека (считая с 1).
Входные данные
В первой строке задается число N - число человек (0<N<=50). Во второй строке задаются года рождения N человек (N чисел).
Выходные данные
Выведите наибольший номер самого младшего человека.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
5
1904 1903 1905 1905 1903 |
4 |
| |
|
|
Спортсмен-победитель
Алгоритмы обработки
Одномерные массивы
Имеется информация о времени (в секундах) прохождения трассы 25 спортсменов, участвовавших в лыжной гонке. Выведите результат спортсмена-победителя гонки.
Входные данные
Входная строка содержит 25 чисел, разделенных одним пробелом - время каждого спортсмена.
Выходные данные
Выведите на экран результат спортсмена-победителя гонки. Гарантируется, что победитель гонки единственный.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
78 35 79 47 104 53 58 86 108 94 90 27 33 88 17 15 37 98 14 67 76 45 94 97 46 |
14 |
| |
|
|
Хакер Василий
Алгоритмы обработки
Одномерные массивы
Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот (все максимальные - на минимальные).
Входные данные
Дано количество оценок Василия (не больше 100), затем сами оценки.
Выходные данные
Требуется вывести исправленные оценки в том же порядке.
|
Ввод |
Вывод |
|
5 1 3 3 3 4 |
1 3 3 3 1 |
|
8 5 4 2 2 4 2 2 5 |
2 4 2 2 4 2 2 2 |
| |
|
|
Златопольский 13.19
Алгоритмы обработки
Одномерные массивы
Известна информация об N (0<N<=20) учениках класса: фамилия, имя, отчество и дата рождения (день, месяц, год)
Определить структуру, описывающую информацию об учениках класса.
Вывести количество учеников в классе, у которых сегодня день рождения и их количество
Входные данные:
В первой строке вводится число N - количество записей
Далее идут N записей в формате (через пробел): <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <день рождения - число от 1 до 31> <Месяц рождения - число от 1 до 12> <Год рождения-число>
Далее идет строка с сегодняшней датой в формате <день - число от 1 до 31> <Месяц - число от 1 до 12> <Год -число>
Выходные данные:
Необходимо вывести на экране в столбик информацию об учениках, у которых сегоня день рождения.
Формат вывода
<Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела>
Фамилии выводить в порядке следования исходных данных
Далее после списка учеников вывести одно число - количество учеников
| |
|
|
Златопольский 13.12
Алгоритмы обработки
Одномерные массивы
Известна информация об N (0<N<=100) сотрудниках фирмы: фамилия, имя, отчество, адрес и дата поступления на работу (месяц, год)
Написать программу, организующую ввод исходных данных в структуру и вывести на экран фамилию, имя и адрес сотрудников, которые на сегодняшний день проработали в фирме не менее Z лет
Входные данные:
В первой строке вводится число N - количество записей
Далее идут N записей в формате (через пробел): <Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <Адрес-слово без пробела> <Месяц поступления - число от 1 до 12> <Год поступления-число>
Далее идет строка с сегодняшней датой в формате <Месяц - число от 1 до 12> <Год -число>
Далее идет значение Z (0<Z<=10) - количество проработанных лет
Выходные данные:
Необходимо вывести на экране в столбик информацию о сотрудниках, проработавших в фирме не менее Z лет.
Формат вывода
<Фамилия-слово без пробела> <Имя-слово без пробела> <Отчество-слово без пробела> <Адрес-слово без пробела>
Фамилии выводить в порядке следования исходных данных
| |
|
|
Златопольский 13.6
Алгоритмы обработки
Одномерные массивы
Использование сортировки
Известны максимальные скорости 20-ти моделей автомобилей. Все значения выражены в км/ч.
Написать программу, которая организовывает ввод исходных данных в структуру и выводит названия моделей автомобилей с самой маленькой и самой большой максимальной скоростью
Входные данные:
20 строк в формате <Марка автомобиля> <Максимальная скорость>
Выходные данные:
Необходимо вывести через пробел названия двух моделей автомобилей, сначала автомобиль с наибольшей максимальной скоростью, затем через пробел автомобиль с наименьшей максимальной скоростью
| |
|
|
Златопольский 13.3
Алгоритмы обработки
Одномерные массивы
Даны названия 26 городов и стран, в которыз они находятся. Среди них есть города, находящиеся в разных странах.
Написать программу, которая организовывает ввод исходных данных в структуру и вывести названия городов и их количество, находящихся в заданной стране.
Входные данные:
в первой строке задается название страны
далее идут 26 строк в формате <Страна> <Город>
Выходные данные:
Необходимо вывести все города, которые находятся в стране, указанной в первой строке входных данных.
Каждый город выводить с новой строки
Сразу после списка городов вывести их количество (одно целое число)
| |
|
|
Заседание толстяков
Одномерные массивы
Алгоритмы обработки
На пронумерованных N стульях за круглым столом в зале заседаний сидят толстяки, вес каждого известен. Каждый час они пересаживаются по кругу вправо на один стул. Напишите программу, которая определяет какой из толстяков будет сидеть на каждом стуле через R часов.
Входные данные
В первой строке вводится значение N - натуральное число (\(N<=100\)). Во второй строке, вводится N чисел - вес толстяков (от 90 до 150). В третьей строке вводится натуральное число R (\(0<=R<=100\)).
Выходные данные
Вывести в первой строке исходное положение толстяков (их вес, начиная с сидящего на первом стуле):
before: вес толстяков
Во второй строке вывести положение толстяков через R часов:
after: вес толстяков
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
98 127 139 141 107
3
|
before: 98 127 139 141 107
after: 139 141 107 98 127 |
| |
|
|
Список
Алгоритмы обработки
Одномерные массивы
В фирме, выпускающей компьютерные комплектующие, все изделия получают последовательные номера от 1 до N. Каждое изделие после его изготовления поступает в отдел контроля качества, где оно проверяется, и либо уходит в продажу, либо заносится в список бракованных изделий и списывается. К сожалению, список бракованных изделий иногда оказывается чересчур длинным. Тогда для его сокращения подряд идущие числа заменяются интервалом: через тире указываются номера первого и последнего изделия интервала.
Например, вместо
1,3,4,5,6,7,8,10,12,16,17,20,21,22,23,24
записывается
1,3-8,10,12,16-17,20-24
Напишите программу, которая по полному списку номеров бракованных изделий выдаст этот список в сокращенном виде.
Входные данные
В первой строке вводится сначала число N - общее количество изделий, затем число M - количество изделий, оказавшихся бракованными. Во второй строке вводятся в возрастающем порядке номера бракованных изделий.
Выходные данные
Выведите в одной строке список номеров бракованных изделий в сокращенном виде. Интервалы должны разделяться запятой. В строке не должно быть пробелов.
Ограничения
1<=M<=N<=1000000.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
10 5
1 3 5 7 9
|
1,3,5,7,9 |
| 2 |
40 16
1 3 4 5 6 7 8 10 12 16 17 20 21 22 23 24
|
1,3-8,10,12,16-17,20-24 |
| 3 |
11 11
1 2 3 4 5 6 7 8 9 10 11
|
1-11 |
| 4 |
10000 1
5
|
5 |
| |
|
|
Два массива
Алгоритмы обработки
Одномерные массивы
Даны два массива чисел. Требуется вывести те элементы первого массива (в том порядке, в каком они идут в первом массиве), которых нет во втором массиве.
Входные данные
В первой строке ввода записано число N - количество элементов в первом массиве. Во второй строке - N чисел (элементы массива). В третьей строке записано число M - количество элементов во втором массиве. В четвертой строке - элементы второго массива.
Количество элементов каждого массива не превышает 100. Сами элементы по модулю не превышают 1000. Все числа целые.
Выходные данные
Выведите те элементы первого массива, которых нет во втором.Элементы необходимо вывести в том порядке, в каком они идут в первом массиве.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
3 1 3 4 2 4 12
6
4 15 43 1 15 1
|
3 3 2 12 |
| |
|
|
Златопольский 9.23
Строки
Одномерные массивы
Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и заканчивая n-й.
Входные данные:
в первой строке задается слово.
во второй строке два числа через пробел, сначала число m, затем число n
Выходные данные:
необходимо вывести часть слова, образованное с m-й по n-ую позицию
Пример входных и выходных данных
| № теста |
Входные данные |
Выходные данные |
| 1 |
forest
2 5
|
ores |
| |
|
|
Златопльский 9.22
Строки
Одномерные массивы
Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину, не используя оператор цикла
Входные данные:
в первой строке задается слово, состоящее из четного числа букв.
Выходные данные:
необходимо вывести первую половину исходного слова
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
privet |
pri |
| |
|
|
Златопльский 9.21
Строки
Одномерные массивы
Дано слово. Получить и вывести на экран его часть, образованную из второй, третьей и четвертой буквами
Входные данные
В первой строке задается слово, состоящее из 4х и более букв.
Выходные данные
Необходимо вывести часть, образованную из второй, третьей и четвертой буквами.
| |
|
|
Златопольский 9.20
Строки
Одномерные массивы
Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символа
Входные данные:
в первой строке задается слово, состоящее из 4х и более букв.
Выходные данные:
необходимо вывести буквосочетание, состоящее из его третьего и последнего символа
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
privet |
it |
| |
|
|
Златопльский 9.19
Строки
Одномерные массивы
Дано слово. Получить и вывести на экран буквосочетание, состоящее из его второго и четвертого символа
Входные данные:
в первой строке задается слово, состоящее из 4 и более символов
Выходные данные:
необходимо вывести на буквосочетание, состоящее из его второго и четвертого символа
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
privet |
rv |
| |
|
|
Златопольский 9.18
Строки
Одномерные массивы
Даны два слова. Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово?
Входные данные:
в первой строке задается первое слово
во второй строке задается второе слово
Выходные данные:
необходимо вывести на экран словой Yes, если первое слово начивается на ту же букву, на которое заканчивается второе слово, в противном случем вывести на экран слово No
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
privet
mama |
NO |
|
2 |
mama
mom |
YES |
| |
|
|
Златопольский 9.15
Строки
Одномерные массивы
Дано слово. Вывести на экран его k-й символ.
Входные данные:
в первой строке задается слово.
во второй строке число k
Выходные данные:
необходимо вывести на экран символ стоящий в позиции с индексом k (считать нумерацию с 1)
Пример входных и выходных данных
|
№ теста |
Входные данные |
Выходные данные |
|
1 |
privet
2 |
r |
| |
|
|
Числообменник
Алгоритмы обработки
Одномерные массивы
В начальный момент в массиве записаны по порядку числа от 1 до N (i-ое число -
на i-ом месте). С массивом проделывают последовательно следующую операцию:
берут два числа, стоящих на местах A и B, и меняют их местами. Требуется
напечатать массив после выполнения этих операций.
Входные данные
Записано сначала число N (2<=N<=100). Далее идет число K - количество
операций обмена (0<=K<=10000). Далее идет K пар чисел - номера мест
элементов, обмен которых происходит.
Выходные данные
Выведите элементы массива после выполнения этих операций.
Пример ввода:
10
2
1 3
3 5
Пример вывода
3 2 5 4 1 6 7 8 9 10
| |
|
|
А роза упала на лапу Азора
Строки
Одномерные массивы
Дано предложение. Вывести слово YES, если предложение является палиндромом (после удаления всех пробелов) и NO - в противном случае.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
A ROZA UPALA NA LAPU AZORA
|
YES
|
| 2 |
POT KAK POTOP
|
NO
|
| |
|
|
Отсутствующее число
Одномерные массивы
Вам даны n чисел a1, a2, ..., an. Найдите наименьшее целое положительное число x, не содержащееся в множестве {a1, ..., an}, то есть, такое, что не существует i, для которого верно ai = x.
Входные данные
В первой строке записано целое число n (1 ≤ n ≤ 105) — количество чисел. Во второй строке через пробел записаны n чисел: a1, ..., an (1 ≤ ai ≤ 109).
Выходные данные
Выведите наименьшее целое положительное x не содержащееся в множестве {a1, ..., an}.
Примеры тестов
Входные данные
Входные данные
5
1 3 4 5 6
Примечание
Тесты разделены на группы, но оцениваются отдельно
-
n = 1 — 10 баллов
-
n ≤ 100 — 20 баллов
-
ai ≤ 106 — 30 баллов
-
Без дополнительных ограничений.
Так, если вы решили задачу для n ≤ 100, то вы получите 30 баллов за первую и вторую группы, если вы решили задачу для ai ≤ 106, то вы получите 30 баллов за третью группу. Если ваша программа будет работать в обоих случаях, то вы получите 60 баллов. За полное решение вы получите 100 баллов.
| |
|
|
20244
Алгоритмы обработки
Одномерные массивы
В массиве хранится информация о количестве людей, живущих на каждом из 15 этажей дома (на первом этаже — в первом элементе массива, на втором — во втором и т. д.). Определить два этажа, на которых проживает меньше всего людей. (Если минимальное количество жителей одинаково на 2х и более этажах, то вывести наименьшие этажи )
| |
|
|
Веселый программист
Одномерные массивы
Цикл while
Строки
Записана последовательность чисел в странном формате:
у каждого числа сначала записано количество цифр в этом числе, а потом через пробел - сами цифры. Последовательность заканчивается числом 0.
В выходной файл нужно вывести сначала количество чисел в последовательности, а потом - сами числа в столбик.
Количество чисел в последовательности не превышает 1000. В числах - не более 4-х знаков.
| |
|
|
Преобразование вида последовательности
Ввод, вывод данных
Одномерные массивы
Формат входных данных
Во входных данных записана последовательность натуральных чисел, не превышающих 1000. Последовательность заканчивается числом 0. Количество чисел в последовательности не превышает 100.
Формат выходных данных
Выведите в выходной файл количество чисел в последовательности (не считая 0), а потом сами числа.
| |
|
|
Количество единиц, двоек, троек и т.д. #2
Алгоритмы обработки
Одномерные массивы
(Та же задача, что и "Количество единиц, двоек, троек и т.д. #1", только может быть введено до 100000 чисел)
Вводятся числа от 1 до 9 до тех пор,
пока не будет введен 0. Всего будет введено не более 100000 чисел
Посчитать количество единиц в этой последовательности,
количество двоек, количество троек и так далее (в выходном
файле всегда должно быть 9 чисел).
Пример входного файла
1 1 4 1 5 8 6 3 5 1 0
Пример выходного файла:
4 0 1 1 2 1 0 1 0
| |
|
|
Количество единиц, двоек, троек и т.д. #1
Алгоритмы обработки
Одномерные массивы
Вводятся числа от 1 до 9 до тех пор,
пока не будет введен 0. Всего будет введено не больше 100 чисел.
Посчитать количество единиц в этой последовательности,
количество двоек, количество троек и так далее (в выходном
файле всегда должно быть 9 чисел).
Пример ввода:
1 1 4 1 5 8 6 3 5 1 0
Пример вывода:
4 0 1 1 2 1 0 1 0
| |
|
|
Количество пар одинаковых чисел
Алгоритмы обработки
Одномерные массивы
Среди заданных N натуральных чисел определить сколько среди них пар одинаковых чисел.
Входные данные
В первой строке задается натуральное число N - количество чисел. Во второй строке - N натуральных чисел ( \(2<=N<=100\), все числа не превышают 100).
Выходные данные
Выведите одно число - количество пар одинаковых чисел.
Примеры
| № |
Входные данные |
Выходные данные |
Примечание |
| 1 |
5
1 3 2 2 3
|
2 |
|
| 2 |
4
1 1 1 1
|
6 |
Пару одинаковых чисел образовывают любые два числа
последовательности, поэтому ответом будет число пар, которое вообще
может быть (это пары чисел, стоящих на местах: (1,2), (1,3), (1,4),
(2,3), (2,4), (3,4)).
|
| |
|
|
Переворачиватель последовательности - 1
Одномерные массивы
Алгоритмы обработки
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся числа, стоящие на нечетных местах, а затем - стоящие на четных местах.
Входные данные
Вводится число N (0<N<100), а затем N чисел. Каждое число не превышает 100 по модулю.
Выходные данные
Выведите N чисел в заданном порядке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
2 4 1 3 5 3 1
|
2 1 5 1 4 3 3 |
| |
|
|
Переворачиватель последовательности - 2
Алгоритмы обработки
Одномерные массивы
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в следующем порядке: сначала выводятся все нечетные числа в том порядке, в каком они встречались во входном файле, а затем - все четные.
Входные данные
Вводится число N (\(0<N<100\)), а затем N чисел. Каждое число не превышает по модулю 100.
Выходные данные
Выведите N чисел в обратном порядке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
2 4 1 3 5 3 1
|
1 3 5 3 1 2 4 |
| |
|
|
Переворачиватель последовательности - 3
Одномерные массивы
Алгоритмы обработки
Вводится сначала число N, а затем N чисел. Выведите эти N чисел в обратном порядке.
Входные данные
Вводится число N (0<N<100), а затем N чисел. Каждое число не превышает 100 по модулю.
Выходные данные
Выведите N чисел в обратном порядке.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
2 4 1 3 5 3 1
|
1 3 5 3 1 4 2 |
| |
|
|
Количество повторов максимального числа
Алгоритмы обработки
Одномерные массивы
Дана последовательность чисел. Выяснить, сколько раз в ней встречается максимальное число.
Входные данные
Вводится сначала число N - количество членов последовательности, а затем N чисел - члены последовательности.
Выходные данные
Выведите одно число - сколько раз в последовательности встречается максимальное число.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
7
1 4 2 5 2 5 3
|
2 |
| |
|
|
Количество чисел в последовательности до двух одинаковых
Одномерные массивы
Ввод, вывод данных
Вводится последовательность чисел до тех, пока не будет введено два равных числа подряд. Посчитать количество чисел в последовательности.
Входные данные
На вход подаются числа в одной строке, разделенные одним пробелом. Ввод заканчивается двумя одинаковыми цифрами подряд.
Выходные данные
Выведите количество чисел, считая два последних числа.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
3 5 24 4 3 5 3 5 3 5 5 |
11 |
| |
|
|
Поиск двух минимумов
Алгоритмы обработки
Одномерные массивы
В массиве хранится информация о количестве людей, живущих на каждом из 15 этажей дома (на первом этаже — в нулевом элементе массива, на втором — в первом и т. д.). Определить два этажа, на которых проживает меньше всего людей. (Если минимальное количество жителей одинаково на 2х и более этажах, то вывести наименьшие этажи).
Входные данные
Элементы массива вводятся в одну строку через пробел.
Выходные данные
Вывести два числа в одной строке через пробел, сначала этаж с самым маленьким числом людей. При одинаковом количестве жителей - сначала наименьший этаж.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
20 8 13 25 29 0 10 4 31 24 11 24 27 23 11 |
6 8 |
| |
|
|
Количество минимальных элементов
Алгоритмы обработки
Одномерные массивы
Даны результаты тестирования некоторой группы людей. Определите количество людей, набравших минимальное число баллов.
Входные данные
В первой строке задается количество людей, проходивших тестирование (не более 100). Во второй строке вводятся результаты. Все числа целые не больше 100.
Выходные данные
Выведите ответ на задачу.
Пример
| № |
Входные данные |
Выходные данные |
| 1 |
10
10 8 10 8 10 8 8 8 10 8 |
6 |
| |
|
|
Рост мальчиков и девочек
Алгоритмы обработки
Одномерные массивы
Вычисление по заданной формуле
Известен рост каждого ученика класса. Рост мальчиков условно задан отрицательными числами. Верно ли, что средний рост мальчиков превышает средний рост девочек более чем на 10 см?
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива. Во второй строке вводится N целых чисел, не равных нулю.
Выходные данные
Выведите на экран слово YES, если средний рост мальчиков больше среднего роста девочек более чем на 10см, в противном случае вывести слово NO.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
-112 -23 83 44 -124
|
YES |
| 2 |
3
-63 -117 141
|
NO |
| |
|
|
Сумма элементов массива
Алгоритмы обработки
Одномерные массивы
Входные данные
В первой строке вводится число N (1<=N<=20) - количество элементов одномерного массива.
Во второй строке вводится N целых чисел (ввод чисел происходит с клавиатуры).
В третьей строке вводятся целые числа a и b.
Выходные данные
Вывести сумму элементов массива, кратных a или b.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
1 2 3 4 5
2 3 |
9 |
| 2 |
3
1 2 3
1 2 |
6 |
| |
|
|
Заполнение массива по правилу - 2
Одномерные массивы
Алгоритмы обработки
Дано неотрицательное число N - количество элементов массива (N<=100). Напишите программу, которая заполняет массив из N элементов первыми натуральными трехзначными числами, произведение цифр которых есть трехзначное число. Выведите заполненный массив на экран в одну строку, отделяя элементы друг от друга одним пробелом.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5 |
269 278 279 287 288 |
| |
|
|
Заполнение массива по правилу - 1
Одномерные массивы
Цикл for
Дано натуральное число N - количество элементов массива (N<=20). Напишите программу, которая заполняет массив элементами по следующему правилу:
1 2 4 8 16 32 ...
Выведите элементы данного массива на экран в одну строчку через пробел.
| |
|
|
Удаление элементов
Работа с элементами (вставка, удаление, сдвиг)
Одномерные массивы
Дан массив из N элементов (\(2<=N<=15\)). Удалить из него все отрицательные элементы.
Входные данные
В первой строке задается число N - число элементов массива. Вторая строка содержит N чисел - значения элементов массива.
Выходные данные
Выведите результирующий массив в строку.
Примеры
| № |
Входные данные |
Выходные данные |
| 1 |
5
43 -56 76 -84 100 |
43 76 100 |
| |
|