Сортировка записей(9 задач)
Использование сортировки(13 задач)
Быстрая сортировка(55 задач)
Сортировка слиянием(9 задач)
Сортировка подсчетом(27 задач)
Сканирующая прямая(39 задач)
Сортировка событий(4 задач)
Дан массив. Отсортировать его так, чтобы сначала шли четные по неубыванию, потом нечетные по неубыванию.
Решите задачу, используя стандартную сортировку с компаратором (в Python - с помощью key).
В первой строке дано одно натуральное число n ( 1 ≤ n ≤ 100 ) — количество элементов массива. Во второй строке через пробел перечислены элементы массива — натуральные числа, не превышающие 10 9 .
В одной строке выведите массив, отсортированный заданным образом. Числа разделяйте пробелами.
4 3 2 1 2
2 2 1 3
Дан массив. Ваша задача вывести план сортировки этого массива по неубыванию. Одно действие характеризуется двумя числами — индексами обмениваемых элементов. То есть, если выведено 1-3, это значит, что нужно поменять местами первый и третий элементы массива. Массив индексируется с единицы
В первой строке дано одно натуральное нечетное число n ( 1 ≤ n ≤ 10 4 ) — количество элементов массива. Во второй строке через пробел перечислены элементы массива — натуральные числа, не превышающие 10 9 .
Выведите не более 10 5 строк, в каждой из которых выведите по два различных числа, разделенных дефисом — индексы обмениваемых ячеек. Если возможных ответов несколько — выведите любой.
4 3 5 1 4
3-1 3-2 4-3
В каждой строке сначала записан номер класса (число, равное 9, 10 или 11), затем (через пробел) — фамилия ученика.
Необходимо вывести список школьников по классам: сначала всех учеников 9 класса, затем — 10, затем — 11. Внутри одного класса порядок вывода фамилий должен быть таким же, как на входе.
9 Ivanov 10 Petrov 11 Sidorov 9 Grigoryev 9 Sergeev 10 Yakovlev
9 Ivanov 9 Grigoryev 9 Sergeev 10 Petrov 10 Yakovlev 11 Sidorov
Вашего друга, который до недавних пор работал кондуктором в маршрутке, повысили, и с этих самых недавних пор он является главным экономистом в фирме, владеющей этими маршрутками. К сожалению, он очень быстро обнаружил, что его знаний недостаточно для такой работы, и стал срочно навёрстывать упущенное. К счастью, это оказалось не столь сложно, благо изучать ему требовалось не всю экономику, а только ту её часть, которая имеет отношение к рынку маршруток в крупных городах.
Среди множества моделей, предложенных экономистами для описания различных видов рынков, вашему другу больше всего понравилась знаменитая «модель конного рынка» Е. фон Бём-Баверка. Эта модель состоит в следующем: в базарный день на рыночной площади собрались N продавцов и M покупателей. У каждого продавца есть одна единица товара (принято говорить о конях); каждый покупатель хочет купить одного коня. С точки зрения покупателей, все продавцы и все кони абсолютно одинаковы, т. е. покупателям всё равно, у кого покупать (значение имеет только цена). Аналогично, с точки зрения продавцов все покупатели одинаковы: продавцам всё равно, кому продавать (опять-таки, значение имеет только цена). Но субъективные оценки товара различаются:
Вдобавок к этим условиям, Е. фон Бём-Баверк справедливо полагает, что каждый продавец будет по возможности запрашивать более высокую цену, в то время как каждый покупатель будет стараться купить как можно дешевле. Далее у Бём-Баверка следуют некоторые рассуждения, которые определяют, какие же конкретно сделки произойдут. По мнению вашего друга, эти рассуждения эквивалентны следующим двум условиям:
Тем не менее, эти правила всё ещё не определяют однозначно цены, по которым будут совершены сделки. Ваш друг попросил вас написать программу, которая определит нижнюю и верхнюю границу диапазона цен, в котором могут быть совершены сделки. Примечание: Вы не ошиблись: вы действительно находитесь на олимпиаде по информатике, а не по экономике :). Поэтому жюри никоим образом не интересуется, не собирается обсуждать и не гарантирует корректность, правильность, реальность и т. д. предложенной модели. Это — задача по информатике, а не по экономике.
В первой строке входного файла находятся два целых числа N и M (1 ≤ N, M ≤ 1 000) — количество продавцов и покупателей соответственно. На второй строке находятся N целых чисел s1, s2, ..., sN, а на третьей строке — M целых чисел b1, b2, ..., bM; эти числа положительны и не превосходят 2 000 000 000.
Если в соответствии с пп. 1 - 4 может произойти хотя бы одна сделка, выведите в выходной файл два числа: сначала нижнюю границу диапазона, потом — верхнюю. Если не произойдёт ни одной сделки, выведите в выходной файл одну строку ‘No solution’ (без кавычек).
4 3 150 110 200 1000 190 100 140
140 150
1 1 100 90
No solution
2 1 150 150 100
No solution
У Егора очень старый телефон. Слава отправил Егору кодовую фразу от Серёжиного банковского счёта, чтоб его ограбить, но телефон Егора настолько стар, что не умеет принимать длинные сообщения. Он разбивает их на несколько маленьких случайной длины, и приходят они ему в случайном порядке.
Когда Егор получил все эти сообщения, он по-настоящему расстроился. Он проклинал телефон, кидал его об стену. К несчастью, телефон оказался обидчивым и перемешал ещё и все буквы в каждом сообщении, хоть и склеил при этом все сообщения в одно. Егор знал, что Серёжа любит такие строки, что в них все буквы идут по убыванию (в обратном алфавитном порядке). Помогите Егору и Славе и найдите кодовую фразу от Серёжиного банковского счёта по единственному оставшемуся сообщению в телефоне.
Единственная строка входных данных содержит строку s — сообщение в телефоне Егора (1 ≤ |s| ≤ 105). Гарантируется, что s содержит только маленькие латинские буквы.
Выведите кодовую фразу от Серёжиного банковского счёта.
qwerty
ywtrqe
onehundredseventynine
yvutsronnnnniheeeeedd