Массивы

467 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
В массиве хранится информация о количестве людей, живущих на каждом из 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
7079#7079
Дан целочисленный прямоугольный массив 6x10. Напишите программу вычисления суммы минимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке минимальный элемент единственный.
Известен рост каждого ученика класса. Рост мальчиков условно задан отрицательными числами. Верно ли, что средний рост мальчиков превышает средний рост девочек более чем на 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
Дано неотрицательное число N - количество элементов массива (N<=100). Напишите программу, которая заполняет массив из N элементов первыми натуральными трехзначными числами, произведение цифр которых есть трехзначное число. Выведите заполненный массив на экран в одну строку, отделяя элементы друг от друга одним пробелом.
 
Примеры
Входные данные Выходные данные
1 5 269 278 279 287 288
Дан массив из N элементов (\(2<=N<=100\)). Вставить значение a перед всеми элементами равными максимальному значению. 

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

Выходные данные
Выведите результирующий массив в одну строку.
 
Примеры
Входные данные Выходные данные
1 5
100
43  50  76  84 100 
43 50 76 84 100 100
В классе обучается N учеников (\(5<=N<=25\)). Значения роста учеников хранится в упорядоченном по убыванию массиве. В начале учебного года в класс поступили два новых ученика ростом A и В. Напишите программу, которая добавляет в массив рост новых учеников. Полученный массив должен быть также упорядоченным по убыванию. Программа не должна использовать сортировку данных.

Входные данные
На входе подаются в первой строке N - число учеников класса. Вторая строка содержит число А и число В. Третья строка содержит N чисел - значения элементов массива. Значения упорядочены по убыванию. 

Выходные данные
Выведите результирующий массив в одну строку.
 
Примеры
Входные данные Выходные данные
1 5
160  170
180 175 163 154 150
180 175 170 163 160 154 150
1878#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
1876#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
1875#1875
Дан массив из N элементов (2<=N<=15). Удалить из него все элементы, оканчивающиеся на 0

Формат входных данных:
На входе подаются в первой строке N - число элементов массива
Вторая строка содержит N чисел - значения элементов массива

Формат выходных данных: Выведите результирующий массив в строку

Пример:
Ввод
5
43  -50  76  -84 100 

Вывод
43  76 -84
Дан одномерный массив размерностью N (2 <= N <= 20). Выполните инверсию элементов находящихся между максимальным и минимальным значениями (максимальное и минимальное значения должны остаться на своих местах).

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

Выходные данные
Необходимо вывести на экран результирующий массив.

 
Примеры
Входные данные Выходные данные
1 4
1 2 3 4
1 3 2 4
Дан массив из N элементов (\(2<=N<=15\)). Удалить из него все отрицательные элементы.

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

Выходные данные
Выведите результирующий массив в строку.
 
Примеры
Входные данные Выходные данные
1 5
43  -56  76  -84 100
43  76 100

Пользователь вводит количество слов, а затем сами слова — каждое на отдельной строке. Сохраните все слова в список.

Выведите две строки:

  1. Исходный список — слова через пробел в порядке ввода.
  2. Отсортированный список — слова через пробел по возрастанию длины. Если длины равны, сохраните порядок ввода.

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

Первая строка — целое число \(N\) (\(1 \le N \le 15\)).

Следующие \(N\) строк — по одному слову (строчные русские буквы, без пробелов).

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

Две строки: исходный список и отсортированный по возрастанию длины, слова через пробел.

Примечание

Подсказка: используйте key=len в функции sorted().

🏆
Шаг 6: Рейтинг героев
Средне
Вирус перемешал рейтинги героев. Чтобы восстановить турнирную таблицу, нужно отсортировать баллы и показать лидеров. Применяй навыки сортировки!
Условие задачи
 

Дана строка из N целых чисел — рейтинги героев. Выведи три строки:

  • все числа, отсортированные по возрастанию, через пробел;
  • три наибольших числа через пробел (от меньшего к большему);
  • среднее арифметическое, округлённое вниз (целочисленное деление).
Входные данные

Одна строка: N целых чисел через пробел (3 ≤ N ≤ 100, значения от 0 до 10000).

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

Три строки.

🛡️
Шаг 2: Фильтр аномалий
Просто
Вирус внедрил в систему аномальные значения. Нормальный сигнал — это число в допустимом диапазоне. Всё, что за границами — мусор от вируса. Отфильтруй чистые данные!
Условие задачи
 

В первой строке — два целых числа L и R — допустимый диапазон (включительно). Во второй строке — набор целых чисел через пробел.

Выведи через пробел только те числа, которые попадают в диапазон от L до R, в том же порядке.

Если подходящих чисел нет, выведи слово ПУСТО.

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

Первая строка: два целых числа L и R (L ≤ R). Вторая строка: набор целых чисел через пробел.

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

Отфильтрованные числа через пробел, или слово ПУСТО.

📡
Шаг 1: Перехваченные данные
Просто
Кибер-агент, ты на связи! Вирус «Пиксель» атаковал серверы игровой вселенной «НеоСфера». Мы перехватили фрагмент данных — список числовых кодов. Проведи базовый анализ, чтобы понять масштаб утечки.
Условие задачи
 

Дана строка из N целых чисел через пробел. Выведи пять чисел, каждое на отдельной строке:

  • количество чисел в списке;
  • сумму всех чисел;
  • минимальное число;
  • максимальное число;
  • первое число минус последнее число.
Входные данные

Одна строка: N целых чисел через пробел (1 ≤ N ≤ 100, числа от −1000 до 1000).

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

Пять чисел, каждое на отдельной строке.

Подсказка: Считай список: a = list(map(int, input().split())). Дальше — len(), sum(), min(), max(), a[0] - a[-1].
На выборах мэра баллотируются три кандидата (номера 1, 2, 3). Побеждает кандидат, набравший строго больше голосов, чем каждый из остальных. Если два или три кандидата набрали одинаковое максимальное число голосов, выведите REPEAT (необходим второй тур).
 

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

Первая строка — целое число N (1 <= N <= 10000) - количество проголосовавших.
Каждая из следующих N строк содержит одно число (1, 2 или 3) - результат голосания каждого избирателя.
 

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

Номер победителя или REPEAT.
В школе проходят выборы президента ученического совета. Баллотируются три кандидата (номера 1, 2, 3). Каждый ученик голосует за одного из них.
Определите, сколько голосов набрал каждый кандидат.
 

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

Первая строка — целое число N (1 <= N <= 1000) — количество проголосовавших.
Каждая из следующих N строк содержит одно целое число (1, 2 или 3) — голос ученика.
 

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

Три числа через пробел — количество голосов за кандидата 1, 2 и 3 соответственно.

На орбитальной станции «Галактика-7» завершился ежегодный технический осмотр космических кораблей. По его результатам каждый корабль получил:

  • Оценки трёх бортовых систем: двигательной, навигационной и системы жизнеобеспечения (по шкале от 2 до 5, где 2 — критическая неисправность, 5 — отличное состояние)
  • Статус лицензии пилота: действующая или просроченная

Корабль допускается к полётам, если выполнены оба условия:

  1. Все три бортовые системы имеют оценку 3 или выше
  2. Лицензия пилота действующая

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

Руководство станции решило предоставить возможность экстренного ремонта одной системы одному из кораблей. Корабль может претендовать на ремонт, если:

  1. Лицензия пилота действующая
  2. Ровно одна система имеет критическую неисправность (оценка 2), а две другие системы исправны (оценка 3 или выше)

Если таких кораблей несколько, выбирается тот, у которого наибольшая сумма оценок всех трёх систем (такой корабль ближе всего к допуску).

Гарантируется, что ровно один корабль удовлетворяет всем критериям отбора.
 

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

В первой строке находится число N — количество кораблей (1 ≤ N ≤ 1000).

Каждая из следующих N строк содержит пять целых чисел через пробел:

  • ID — бортовой номер корабля (натуральное число, не превышающее 108)
  • S1, S2, S3 — оценки трёх бортовых систем (каждая от 2 до 5)
  • L — статус лицензии пилота (1 — действующая, 0 — просроченная)
 

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

Выведите два числа через пробел:

  1. Количество кораблей, не допущенных к полётам
  2. Бортовой номер корабля, который получит возможность экстренного ремонта
Поделиться
Класснуть