Алгоритмы

606 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Символ называется уникальным, если он встречается в строке один раз. Первый уникальный символ - это уникальный символ с наименьшим индексом.
Дана строка s. Найдите первый уникальный символ в данной строке. Выведите его индекс. Если в строке нет уникальных символов, выведите -1.

Входные данные
Программа получает на вход последовательность непробельных символов s. 

Ограничения
'a' <= s[i] <= 'z'
0 <= i <= 255

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1
silvertests
1
2
sstt
-1
Напишите программу, которая сортирует строки двумерного массива целых чисел (nums) по возрастанию суммы элементов первой половины строки. В случае равенства суммы элементов первой половины строки должны идти в порядке возрастания суммы элементов второй половины. При нечетном количестве элементов в строке, средний элемент включается как в первую половину, так и во вторую.

Входные данные
В первой строке записаны два целых числа N и M - количество строк и столбцов матрицы соответственно.  Далее идет N строк, каждая из которых содержит по M чисел, разделенных одним пробелом - элементы массива (nums). 

Ограничения
1 <= N, M <= 103
-109 <= numsi,j <= 109

Выходные данные
Выведите отсортированный массив.
 
 
Примеры
№ Входные данные Выходные данные
1 3 5
4 0 2 1 3
1 3 2 0 0
1 1 2 1 1
1 1 2 1 1
1 3 2 0 0
4 0 2 1 3
Напишите программу, которая сортирует строки двумерного массива целых чисел (nums) по возрастанию суммы элементов строк. В случае равенства суммы двух строк эти строки должны идти в порядке возрастания суммы первого и последнего элементов строки.

Входные данные
В первой строке записаны два целых числа N и M - количество строк и столбцов матрицы соответственно.  Далее идет N строк, каждая из которых содержит по M чисел, разделенных одним пробелом - элементы массива (nums). 

Ограничения
1 <= N, M <= 103
-109 <= numsi,j <= 109

Выходные данные
Выведите отсортированный массив.
 
 
Примеры
№ Входные данные Выходные данные
1 3 3
4 0 2
1 3 2
1 1 2
1 1 2
1 3 2
4 0 2
 

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


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

В первой строке записаны через пробел размеры двумерного массива: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ). В следующих N строках записаны строки двумерного массива, в каждой – по M натуральных чисел, разделённых пробелами. 
 

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

Программа должна вывести отсортированный двумерный массив.
 

Примеры
№ Входные данные Выходные данные
1
5 7
13 5 1 8 4 14 5 
5 13 10 9 3 7 7 
3 3 9 6 3 7 5 
10 8 11 2 1 1 13 
1 12 13 15 9 11 4 
1 1 1 1 2 3 3 
3 3 4 4 5 5 5 
5 6 7 7 7 8 8 
9 9 9 10 10 11 11 
12 13 13 13 13 14 15 

Напишите программу, которая переставляет элементы квадратной матрицы, расположенные на побочной диагонали, в порядке убывания, начиная с правого верхнего угла. Остальные элементы матрицы должны остаться на своих местах.
 

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

В первой строке записано одно число N размер квадратной матрицы ( 1 <= N <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по N натуральных чисел, разделённых пробелами. 
 

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

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

Примеры
№ Входные данные Выходные данные
1
5
12 4 8 13 13 
1 12 1 4 15 
2 3 5 2 3 
6 5 13 12 14 
14 9 15 4 12 
12 4 8 13 14 
1 12 1 13 15 
2 3 5 2 3 
6 5 13 12 14 
4 9 15 4 12
 

Напишите программу, которая переставляет элементы квадратной матрицы, расположенные на главной диагонали, в порядке возрастания. Остальные элементы матрицы должны остаться на своих местах.
 

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

В первой строке записано одно число N размер квадратной матрицы ( 1 <= N <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по N натуральных чисел, разделённых пробелами. 
 

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

Программа должна вывести получившуюся матрицу, в которой элементы главной диагонали расположены в порядке возрастаниия.
 

Примеры
№ Входные данные Выходные данные
1
5
1 11 11 5 10 
2 9 2 10 2 
12 9 10 9 15 
6 15 14 1 11 
11 12 4 9 3 
1 11 11 5 10 
2 1 2 10 2 
12 9 3 9 15 
6 15 14 9 11 
11 12 4 9 10
 

Алиса со своим отцом профессором Селезневым записывают на листочке числа определенной последовательности. У Алисы каждый i-й член последовательности равен i2, у профессора Селезнева i-й член последовательности равен i3. Они решили создать новую возрастающую последовательность путем объединения двух своих последовательностей. При этом, если в обоих последовательностях есть одинаковое число, то в новой последовательности оно присутствует только один раз. 

Алиса и профессор просят вас угадать i-е число в новой объединенной последовательности. 


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

В единственной строке входного файла дано натуральное число i (1 <= i <= 107).


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

Выведите i-е число новой последовательности. 

 
Примеры
№ Входные данные Выходные данные
1 1 1
2 2 4
3 4 9

Отсортируйте данный массив, используя сортировку слиянием.


Входные данные
Первая строка входных данных содержит количество элементов в массиве N, N <= 105. Далее идет N целых чисел, не превосходящих по абсолютной величине 109.


Выходные данные
Выведите эти числа в порядке неубывания.
 
Примеры
№ Входные данные Выходные данные
1 2
3 1
1 3

Даны два массива arr1 и arr2. Элементы массива arr2 различны, и при этом все элементы arr2 содержатся в arr1.

Отсортируйте элементы массива arr1 таким образом, чтобы относительный порядок элементов в массиве arr1 был таким же, как в массиве arr2. Элементы, которых нет в массиве arr2 должны располагаться в конце массива arr1 в порядке возрастания.



Входные данные
Первая строка входных данных содержит целое число n - количество элементов в массиве arr1, вторая строка содержит n целых чисел - элементы массива arr1. Третья строка содержит целое число m - количество элементов в массиве arr2, четвертая строка содержит m целых чисел - элементы массива arr2.

Ограничения на входные данные
  • 1 <= n, m <= 106
  • 0 <= arr1[i], arr2[i] <= 1000
  • Все элементы массива arr2 различны.
  • Каждый элемент массива arr2[i] содержится в массиве arr1.


Выходные данные
Выведите, отсортированный по условию задачи, массив arr1.
 
 
Примеры
№ Входные данные Выходные данные
1 11
2 3 1 3 2 4 6 7 9 2 19
6
2 1 4 3 9 6
2 2 2 1 4 3 3 9 6 7 19
2 6
28 6 22 8 44 17
4
22 28 8 6
22 28 8 6 17 44
Дан массив целых чисел. Отсортируйте массив по невозрастанию суммы цифр каждого числа. При равенстве суммы цифр двух чисел, числа должны следовать в порядке убывания.

Формат входных данных
Программа получает на вход в первой строке натуральное число n - размер массива. Вторая строка содержит n целых чисел ai - элементы массива (1 <= n <= 103, 1 <= ai <= 104).

Формат выходных данных
Выведите результирующий массив.
 
 
Примеры
№ Входные данные Выходные данные
1 4
1 43 12 10
43 12 10 1
Дан массив целых чисел. Верните отсортированный по неубыванию массив квадратов исходных чисел.

Входные данные
Программа получает на вход в первой строке натуральное число n - размер массива. Вторая строка содержит n целых чисел ai - элементы массива (1 <= n <= 103, -104 <= ai <= 104).

Выходные данные
Выведите результирующий массив.
 
 
Примеры
№ Входные данные Выходные данные
1 5
-1 -4 3 0 10
0 1 9 16 100
2 3
3 -1 1
1 1 9

Чебурашка обожает мандарины. Сейчас он оказался на новогодней ярмарке среди большого количества ящиков с мандаринами. В i-м ящике bi мандаринов. Ярмарка начинает свою работу через h часов.

Чебурашка очень умный и может выбрать скорость поедания мандаринов -  k мандаринов в час. Затем он каждый час выбирает ящик мандаринов и уплетает k штук из этого ящика. Если в ящике меньше k мандаринов, то Чебурашка съест их все и больше не притронется ни к одному мандарину в течение этого часа.

Чебурашка любит есть медленно, но желает съесть все мандарины до открытия ярмарки.

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


Входные данные
В первой строке записано число n (1 <= n <= 104) - количество ящиков с мандаринами. Вторая строка содержит n чисел bi - количество мандаринов в i-м ящике (1 <= bi <= 109). В третьей строке записано число h (n <= h <= 109) - через сколько часов открывается ярмарка.

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
№ Входные данные Выходные данные
1 4
3 6 7 11
8
4
2 5
30 11 23 4 20
5
30
3 5
30 11 23 4 20
6
23

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

Вам известно, в каком порядке расположены посылки на конвейерной ленте. Найдите минимальную грузоподъемность судна, на котором вы сможете доставить все ваши посылки в другой порт за d дней.

 

Входные данные
Первая строка входных данных содержит натуральное число N (N <= 5·104) - количество посылок, которое необходимо доставить. Во второй строке записаны N чисел wi. i-е число означает вес i-го груза на конвейерной ленте (1 <= i <= N,1 <= wi <= 500). Груз с весом w1 погружается на судно первым.  В третьей строке записано число d (1 <= d <=  5·104)


Выходные данные
Выведите минимальную грузоподъемность судна, на котором можно доставить все посылки за d дней.
 


Пояснение
В первом примере минимальная грузоподъемность судна равна 15. Тогда судно сможет доставить наши посылки в 5 дней следующим образом:
1-й день: 1, 2, 3, 4, 5
2-й день: 6, 7
3-й день: 8
4-й день: 9
5-й день: 10
Обратите внимание, что груз должен быть отправлен в указанном порядке, поэтому использовать судно грузоподъемностью 14 и разделить посылки на части, такие как (2, 3, 4, 5), (1, 6, 7), (8), (9), (10) не допускается.
 
Примеры
№ Входные данные Выходные данные
1 10
1 2 3 4 5 6 7 8 9 10
5
15
2 6
3 2 2 4 1 4
3
6
3 5
1 2 3 1 1
4
3

Напишите программу, которая вычисляет значение арифметического выражения, записанного в виде символьной строки. В выражении используются только целые числа и знаки арифметических операций (+-*/). Результат операции деления – целое число.

 

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

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

 

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

Программа должна вывести значение переданного ей выражения как целое число.

 
Примеры
№ Входные данные Выходные данные
1
125-6-73/5*8
7
✓ 26✗ 19500лёгкаяВойти и решать

Дан массив из n чисел, отсортированный по невозрастанию, и k запросов. Для каждого запроса выведите минимальный номер элемента массива, меньший данного (нумерация элементов массива начинается с 1).


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

В первой строке входных данных содержатся числа n и k (0 < n, k <= 105) — длина массива и число запросов. Во второй строке содержатся n элементов массива, отсортированного по невозрастанию. В третьей строке содержатся k запросов. Все элементы массива и запросы — целые числа, каждое из которых по модулю не превосходит 2⋅109 .


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

Для каждого из k запросов выведите минимальный номер элемента массива, меньше данного. Если таких нет, выведите 0.

 
Примеры
№ Входные данные Выходные данные
1
5 5
9 8 5 3 3
2 4 8 1 10
0
4
3
0
1

Дан массив из n чисел, отсортированный по невозрастанию, и k запросов. Для каждого запроса выведите максимальный номер элемента массива, не меньше данного (нумерация элементов массива начинается с 1).


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

В первой строке входных данных содержатся числа n и k (0 < n, k <= 105) — длина массива и число запросов. Во второй строке содержатся n элементов массива, отсортированного по невозрастанию. В третьей строке содержатся k запросов. Все элементы массива и запросы — целые числа, каждое из которых по модулю не превосходит 2⋅109 .


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

Для каждого из k запросов выведите максимальный номер элемента массива, не меньше данного. Если таких нет, выведите 0.

 
Примеры
№ Входные данные Выходные данные
1
5 5
9 8 5 3 3
2 4 8 1 10
5
3
2
5
0

Дан массив из n чисел, отсортированный по невозрастанию, и k запросов. Для каждого запроса выведите максимальный номер элемента массива, большего данного (нумерация элементов массива начинается с 1).


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

В первой строке входных данных содержатся числа n и k (0 < n, k <= 105) — длина массива и число запросов. Во второй строке содержатся n элементов массива, отсортированного по невозрастанию. В третьей строке содержатся k запросов. Все элементы массива и запросы — целые числа, каждое из которых по модулю не превосходит 2⋅109 .


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

Для каждого из k запросов выведите максимальный номер элемента массива, большего данного. Если таких нет, выведите 0.

 
Примеры
№ Входные данные Выходные данные
1
5 5
9 8 5 3 3
2 4 8 1 10
5
3
1
5
0

Дан массив из n чисел, отсортированный по неубыванию, и k запросов. Для каждого запроса выведите максимальный номер элемента массива, меньший данного (нумерация элементов массива начинается с 1).


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

В первой строке входных данных содержатся числа n и k (0 < n, k <= 105) — длина массива и число запросов. Во второй строке содержатся n элементов массива, отсортированного по неубыванию. В третьей строке содержатся k запросов. Все элементы массива и запросы — целые числа, каждое из которых по модулю не превосходит 2⋅109 .


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

Для каждого из k запросов выведите максимальный номер элемента массива, меньший данного. Если таких нет, выведите 0.

 
Примеры
№ Входные данные Выходные данные
1
5 5
3 3 5 8 9
2 4 8 1 10
0
2
3
0
5
 

Для полученного дерева выведите список всех вершин, имеющих только одного ребёнка, в порядке возрастания.


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

Вводится последовательность целых чисел,оканчивающаяся нулем. Построить по ней дерево.


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

Выведите список требуемых вершин.

 

Примеры
№ Входные данные Выходные данные
1
7 3 2 1 9 5 4 6 8 0
2
9

Выведите все элементы полученного дерева в порядке возрастания.


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

Вводится последовательность целых чисел, оканчивающаяся нулем. Сам ноль в последовательность не входит. По данной последовательности требуется построить дерево.


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

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

 
Примеры
№ Входные данные Выходные данные
1
7 3 2 1 9 5 4 6 8 0
1
2
3
4
5
6
7
8
9
Поделиться
Класснуть