Алгоритмы обработки

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

Входные данные
Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого учащегося в строю. После этого вводится число 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()))
Дано N целых чисел. Найти третий по величине максимальный элемент последовательности (элемент, который бы стоял третьим, если бы входные данные отсортировали по неубыванию).

Входные данные
В первой строке задается число N (\(3<=N<=10^5\)). Далее идут N строк, по одному числу в каждой строке.

Выходные данные
Выведите третий максимальный элемент.
 

 

Примеры
Входные данные Выходные данные
1 7
10
15
35
35
14
35
10
35
2 5
10
5
7
11
9
9
 
 
В 1995 году Роулинг закончила свою рукопись романа «Гарри Поттер и философский камень», которую печатала на старой пишущей машинке. После восторженного отзыва Брайони Ивенса, читателя, которому было предложено оценить первые три главы книги, фулхэмская фирма литературных агентов Christopher Little Literary Agents согласилась представлять Роулинг во время поисков издателя. Книга была отправлена в двенадцать издательств, но все они отвергли рукопись. Год спустя она, наконец, получила зелёный свет (и 1500 фунтов аванса) от редактора Барри Каннингема из лондонского издательства Bloomsbury.
Дж. Роулинг во время поисков издателей получила N предложений напечатать роман. Помогите ей оценить, сколько всего издательств предложило ей максимальный гонорар.

Входные данные
В первой строке задается число N. В следующих N строках записаны натуральные числа (не более 5000 каждое),  по одному числу в строке.

Выходные данные
Выведите одно  число - количество издательств с максимальным размером гонорара.
 

 

Примеры
Входные данные Выходные данные
1 4
1547
1600
1325
1600
2

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

Входные данные: Вводится натуральное число n.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 3 102
111
120
201
210
300
Напишите программу, которая сортирует натуральные числа в массиве по убыванию суммы цифр десятичной записи числа. При равенстве сумм цифр числа должны сохранить исходный порядок.

Входные данные
Первая строка содержит размер массива 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.
 
Формат выходных данных
Выведите результирующий массив в строку
 
 
Зл 9.30#33152
Дано слово апельсин. Путем "вырезок" и "склеек" его букв получить слова спаниель. 

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 апельсин спаниель
Зл 9.27#33149
Дано слово программа. Путем "вырезок" и "склеек" его букв получить слова ром и рампа. 
Результирующие слова выводить в столбик.

Пример входных и выходных данных
№ теста Входные данные Выходные данные
1 программа ром
рампа
На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём (ноль не входит в последовательность). Найти максимальное чётное число среди всех введённых чисел. Гарантируется, что в последовательности есть хотя бы одно четное число

Входные данные
На вход программе подаются числа, по одному числу в строке.

Выходные данные
Выведите ответ на задачу
 

 

Примеры
Входные данные Выходные данные
1 1
2
6
0
6

 

На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём (ноль не входит в последовательность). Определить, сколько получено двузначных чисел, которые заканчиваются на 3.

Входные данные
На вход программе подаются числа, по одному числу в строке.

Выходные данные
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 1
2
13
0
1

 

На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём (ноль не входит в последовательность). Определить, сколько получено чисел, которые делятся на 3.

Входные данные
На вход программе подаются числа, по одному числу в строке.

Выходные данные
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 1
2
3
0
1

 

Дан текст, состоящий из нескольких строк. Текст заканчивается строкой, содержащей единственное слово "END!". Слово "END!" не является содержимым текста, а служит только признаком окончания.

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

Слова должны быть приведены к строчному виду, и без знаков препинания.
 
Пример
Входные данные Выходные данные
1 Duis aute irure dolor in reprehenderit in voluptate.
Velit esse cillum dolore eu fugiat nulla pariatur.
END!
in 2
aute 1
cillum 1
dolor 1
dolore 1
duis 1
esse 1
eu 1
fugiat 1
irure 1
nulla 1
pariatur 1
reprehenderit 1
velit 1
voluptate 1
Палиндром - это строка, которая читается одинаково как справа налево, так и слева направо. 
 
На вход программы поступает набор больших латинских букв (не обязательно различных). Разрешается переставлять буквы, а также удалять некоторые буквы. Требуется из данных букв по указанным правилам составить палиндром наибольшей длины, а если таких палиндромов несколько, то выбрать первый из них в алфавитном порядке.
 
Входные данные
В первой строке входных данных содержится число N (1 <= N <= 100000). Во второй строке задается последовательность из N больших латинских букв (буквы записаны без пробелов).
 
Выходные данные
В единственной строке выходных данных выдайте искомый палиндром.
 
Ввод Вывод
3
AAB
ABA
6
QAZQAZ
AQZZQA
6
ABCDEF
A
Даны два неупорядоченных набора целых чисел (может быть, с повторениями). Выдать без повторений в порядке возрастания все те числа, которые встречаются в обоих наборах.
 
Входные данные
В первой строке входного потока записано через пробел два целых числа N и М (1 ≤ N, М ≤ 300 000) — количество элементов первого и второго наборов, соответственно. В следующих двух строках записано сначала N чисел первого набора, а затем M чисел второго набора. Числа разделены пробелами. Каждое из этих чисел попадает в промежуток от 0 до 105.
 
Выходные данные
Необходимо вывести в возрастающем порядке без повторений все числа, которые входят как в первый, так и во второй набор. Числа разделять одним пробелом. Если таких чисел нет, то ничего выводить не нужно.
 
Входные данные Выходные данные
11 6
2 4 6 8 10 12 10 8 6 4 2
3 6 9 12 15 18
6 12
Поделиться
Класснуть