Использование сортировки

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

Входные данные
Программа получает на вход текст (количество строк может быть много). Текст заканчивается строкой END!

Выходные данные
Выведите любимый фрукт среди всех жителей Цветочного города. Если таких фруктов несколько, выведите тот, который меньше в лексикографическом порядке.
 
Пример
Входные данные Выходные данные
1 apple orange banana banana orange
END!
banana
Дано натуральное четырехзначное число. Найдите минимальное натуральное четырехзначное число, состоящее из тех же цифр, что и заданное. Заметим, что четырехзначные числа не могут начинаться с нуля.

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

Выходные данные
Выведите минимальное натуральное  четырехзначное число, состоящее из тех же цифр.
Примеры
Входные данные Выходные данные
1 1513 1135
Маше на день рождения подарили набор матрёшек!

Теперь Маша сидит и вкладывает их одну в другую. Она заметила, что матрёшки отличаются по размеру, и одна помещается внутри другой, только если ее размеры строго меньше. Так, если есть две матрёшки i и j , а их размеры ai и aj соответственно, то матрёшка i вкладывается внутрь матрёшки j тогда и только тогда, когда ai < aj . Разумеется, непосредственно внутрь матрёшки можно вложить только одну другую матрёшку, иначе получится неаккуратно, а Маша — очень аккуратная девочка.

Маше особенно нравится, если она может, вкладывая матрёшки друг в друга, добиться того, что все они оказываются внутри одной самой большой матрёшки. Но, к сожалению, это не всегда возможно. Поэтому Маша решила убрать часть матрёшек в шкаф, оставив такой набор, чтобы их все можно было вложить друг в друга. Помогите Маше понять, какое максимальное количество матрёшек может быть в таком наборе.

Входные данные
В первой строке находится число n — количество матрёшек, подаренных Маше ( 1 ≤ n ≤ 1000 ). В следующей строке через пробел находятся n чисел — размеры матрёшек. Число ai , стоящее на месте i , задает размер матрёшки с номером i ( 1 ≤ ai ≤ 10 000 ).

Выходные данные
Выведите одно число — максимальное количество матрёшек, которые можно вложить друг в друга.
 
Примеры
Входные данные Выходные данные
1 3
2 10 2
2
2 6
2 1 2 1 3 4
4
3 4
3 1 4 2
4
В числе подсчитали количество единиц, в получившемся опять подсчитали количество единици т.д.
Например: 111211121112111 - 12 - 1 - 1 - 1 - ...

В итоге полученная последовательность стабилизировалась. На каком числе?

Например, последовательность 111211121112111 - 12 - 1 - 1 - 1 - ... стабилизировалась на числе 1.

Входные данные
Вводится одно натуральное число, состоящее из не более чем 100 цифр.

Выходные данные
Выведите число, на котором стабилизировалась последовательность.
Примеры
Входные данные Выходные данные
1 12345 1
2 2007 0
На кондитерской фабрике есть n видов пирожных, пирожных i-го вида на фабрике ai штук. Было принято решение отвезти пирожные на продажу на ярмарку, но директор фабрики решил, что кондитерские изделия на ярмарочной витрине должны быть выложены одинаковыми рядами, при этом пирожных каждого вида должно быть одинаковое количество. Необязательно отвозить на ярмарку все виды пирожных, можно выбрать некоторые виды и взять одинаковое число пирожных каждого выбранного вида.

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

Формат входных данных
Первая строка входных данных содержит число n - количество видов пирожных на фабрике, 1 <= n <= 105.
Следующие n строк содержат по одному числу ai - количество пирожных i-го вида, 1 <= ai <= 105.
Сумма всех значений ai не превосходит 2 x 109.

Формат выходных данных
Программа должна вывести два целых числа. Первое число равно количеству видов пирожных, которые необходимо выбрать для ярмарки. Второе число равно количеству пирожных каждого выбранного вида, которые нужно отвезти на ярмарку.
Если возможных ответов несколько, выведите любой из них.
 
Ввод Вывод
3
4
10
7
2 7

Пояснение к примеру. Имеется 3 вида пирожных количеством 4, 10 и 7 штук. Наилучший ответ будет, если взять по 7 пирожных второго и третьего вида.
Дано 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
 
 
В обувном магазине продается обувь разного размера. Известно, что одну пару обуви можно надеть на другую, если она хотя бы на три размера больше. В магазин пришел покупатель. Требуется определить, какое наибольшее количество пар обуви сможет предложить ему продавец так, чтобы он смог надеть их все одновременно?

Формат входных данных
Сначала вводится размер ноги покупателя (обувь меньшего размера он надеть не сможет), затем количество пар обуви в магазине и размер каждой пары. Размер — натуральное число, не превосходящее 100, количество пар обуви в магазине - неотрицательное число, не превосходит 1000.

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

Входные данные
Первая строка содержит размер массива N . Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 0 < N ≤ 10000 .

Выходные данные
Программа должна вывести в одной строке элементы массива, отсортированного в порядке убыванию суммы цифр десятичной записи числа, разделив их пробелами.
 
Ввод Вывод
6
9 21 32 55 81 11
55 9 81 32 21 11
Дан текст, состоящий из нескольких строк. Текст заканчивается строкой, содержащей единственное слово "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
Слово называется анаграммой другого слова, если оно может быть получено перестановкой его букв.
 
Формат входных данных
Даны два слова на отдельных строках. Слова состоят из строчных латинских букв и цифр. Длины слов не превышают 255.
 
Формат выходных данных
Требуется вывести "YES"  – если введенные слова являются анаграммами друг друга, "NO"  – если нет.
На прямой находятся N точек. Требуется подсчитать количество пар индексов (i, j) таких, что i не равно j и |ai - aj|  <= D.

Формат входных данных
В первой строке находятся два числа N и D (1 <= N <= 105, 1 <= D <= 109). Во второй строке находится N неотрицательных чисел, каждое из котороых не более чем 2*109.

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

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

Формат входных данных
В первой строке входных данных задается число N – количество блоков ( 1 <= N <= 100000 ). В следующих N строках задаются пары целых чисел wi и hi ( 1<= wi , hi <= 109), разделенные пробелом – ширина и высота блока, соответственно.

Формат выходных данных
Целое число – максимальная высота пирамиды.
 
Ввод Вывод
3
3 1
2 2
3 3
5

Замечание.
В приведенном примере пирамида будет состоять из двух блоков: нижним будет блок с номером 3, а верхним – блок с номером 2. Блок с номером 1 нельзя использовать для строительства пирамиды, т.к. его ширина совпадает с шириной нижнего блока.
Когда в очередной раз на уроке физкультуры дети не смогли сразу выстроиться по росту и это заняло 5 минут занятия, физрук придумал новое правило. Дети заходят все вместе и сразу встают в ряд. После этого могут меняться местами только два школьника, стоящих рядом. При этом они, конечно же, должны отжаться столько раз, какая у них оказалась разница в росте. Сколько раз в результате суммарно отожмутся школьники, прежде чем у них получится выстроиться по росту в порядке убывания?
 
Формат входных данных
В первой строке число содержится число N (2 <= N <= 1000)  количество детей в классе. В
следующей строке записана исходная расстановка школьников: N чисел через пробел, i-е число
обозначает рост i-го школьника ri (1 <= ri <= 109) в нанометрах.
 
Формат выходных данных
Одно число  суммарное количество отжиманий. Гарантируется, что школьники суммарно отожмутся не более 2 · 109 раз.

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

Замечание
В примере школьники с ростом 1 и 2 поменяются местами и каждый отожмјтся по разу, затем школьники 1 и 3 (каждый отжимается 2 раза, суммарно плюс 4 отжимания), и последними школьники 2 и 3 (плюс 2 отжимания).

Известны максимальные скорости 20-ти моделей автомобилей. Все значения выражены в км/ч.
Написать программу, которая организовывает ввод исходных данных в структуру и выводит названия моделей автомобилей с самой маленькой и самой большой максимальной скоростью

Входные данные: 
20 строк в формате <Марка автомобиля> <Максимальная скорость>


Выходные данные:
Необходимо вывести через пробел названия двух моделей автомобилей, сначала автомобиль с наибольшей максимальной скоростью, затем через пробел автомобиль с наименьшей максимальной скоростью
Сортировка времени
 
Во входном файле записано сначала число N (1<=N<=100), а затем
N моментов времени. Каждый момент времени задается 3 целыми числами - 
часы (от 0 до 23), минуты (от 0 до 60) и секунды (от 0 до 60).
 
В выходной файл выведите моменты времени, упорядоченные в порядке
неубывания (момент времени также выводится в виде трех чисел, ведущие нули
выводить не обязательно)
 
Пример входного файла:
4
10 20 30
7 30 00
23 59 59
13 30 30
 
Пример выходного файла:
7 30 0
10 20 30
13 30 30
23 59 59
 
Сортировка
 
Во входном файле задано сначала число N (1<=N<=100),  а затем N целых
чисел, по модулю не превышающих 1000.
 
Выведите N чисел в порядке неубывания.
 
Пример входного файла
5
3 1 2 4 2
 
Пример выходного файла
1 2 2 3 4
Годовые оценки по девяти предметам за 9-й класс каждого из N учеников класса напечатаны в виде таблицы (в первой строке - оценки первого ученика, во второй - второго и т.д.). Фамилия ученика записана в первом столбце. Необходимо вывести данную таблицу в порядке убывания среднего балла. В случае равенства среднего балла, фамилии выводить в порядке их следования в исходных данных.

Входные данные
На вход программе подаются:
- в первой строке число N - количество учеников (1<=N<=25);
- далее идут N строк, в формате <фамилия (последовательность латинских символов)> <оценка за 1й предмет> <оценка за 2й предмет> ...  <оценка за 9й предмет>.

Выходные данные
Вывести на экран таблицу, записанную в порядке убывания среднего балла по всем предметам в формате:
<Фамилия> <Средний балл (с точностью 6 знаков после запятой)>
В случае равенства среднего балла, фамилии выводить в порядке их следования в исходных данных.
 
Примеры
Входные данные Выходные данные
1
3
Sidorov 1 1 1 1 1 1 1 1 1 
Ivanov 5 5 5 5 5 5 5 5 5
Petrov 4 4 4 4 4 4 4 4 4
Ivanov 5.000000
Petrov 4.000000
Sidorov 1.000000
Поделиться
Класснуть