Информатика

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

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


Входные данные
Первая строка входных данных содержит количество элементов в массиве NN <= 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
Дан двумерный массив целых чисел, items1 и items2, представляющие собой два множества элементов. Каждый из данных массивов обладает следующими свойствами:
  • items[i] = [valuei, weighti], где valuei обозначает значение, а weighti обозначает вес  iго элемента;
  • значение каждого элемента уникально.

Верните двумерный массив ret, где ret[i] = [valuei, weighti], в котором weighti является суммой весов всех значений valuei.
Массив ret должен быть отсортирован по возрастанию по значению value.



Входные данные
Программа получает на вход в первой строке целое число n1 - количество элементов в массиве items1. Далее следуют n1 строк, в каждой из которых записаны два целых числа valuei, weight- элементы первого массива и их веса.
В следующей строке записано целое число n2 - количество элементов в массиве items2. Далее следуют n2 строк, в каждой из которых записаны два целых числа valuei, weight- элементы второго массива и их веса.

Ограничения на входные данные:
  • 1 <= n1, n2 <= 1000
  • items1[i].len() == items2[i].len() == 2
  • 1 <= valuei, weighti <= 1000
  • Каждое значение valuei в items1 уникально.
  • Каждое значение valuei в items2 уникально.

Выходные данные
Выведите массив ret в требуемом формате (см. пример)
 
 
Примеры
Входные данные Выходные данные
1
3
1 1
4 5
3 8
2
3 1
1 5
[[1, 6], [3, 9], [4, 5]]
2
3
1 1
3 2
2 3
3
2 1
3 2
1 3
[[1, 4], [2, 4], [3, 4]]
✓ 37✗ 27700средняяВойти и решать
Дан массив целых чисел. Отсортируйте массив по невозрастанию суммы цифр каждого числа. При равенстве суммы цифр двух чисел, числа должны следовать в порядке убывания.

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

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

Входные данные
Программа получает на вход в первой строке натуральное число n - размер массива. Вторая строка содержит n целых чисел a- элементы массива (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 мандаринов, то Чебурашка съест их все и больше не притронется ни к одному мандарину в течение этого часа.

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

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


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

Входные данные
В первой строке входных данных записаны через один пробел два натуральных числа N и M ( 0 < N, M <= 25). Далее идут N строк по M положительных целых чисел в каждой - элементы матрицы A (каждый элемент матрицы не превышает 105).

Выходные данные
Выведите результирующий массив A размерностью Nx(M+1) на экран. Все элементы строки должны быть разделены одним пробелом.
 
 
Примеры
Входные данные Выходные данные
1 4 5
-10 2 10 -3 4
-5 3 6 -8 8
12 -10 3 -8 4
1 2 3 -1 -2
-10 2 10 -3 4 -3
-5 3 6 -8 8 -4
12 -10 3 -8 4 -1
1 2 3 -1 -2 -3

Дан массив из 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
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1

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

Морской бой представляет из себя игру на клетчатом поле размером 10 x 10 клеток. Максим успел прислать вам поле прошедшей игры. На поле отмечены клетки, в которые Максим уже стрелял. На поле можно размещать корабли любого размера, но обязательное условие, чтобы корабль был прямоугольным с шириной, равной 1. Располагать корабль разрешается либо горизонтально либо вертикально.


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

На вход программа получает 10 строк по 10 чисел в каждой, числа разделены пробелами. Число 1 означает, что в соответствующую клетку стреляли, число 0 – что в клетку не стреляли.
(Гарантируется, что на поле есть хотя бы одна небитая клетка.)


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

Выведите ответ  – максимальную возможную длину корабля.
 

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

Учащиеся театрального кружка школы любят посещать театр. В очередной раз они пошли в театр, в котором n рядов по m мест в каждом. Руководитель кружка пришла за билетами и хочет купить билеты всем учащимся в одном ряду на соседние места. 
По имеющейся информации о проданных билетах на спектакль определите, сможет ли руководитель купить билеты всем учащимся и себе в одном ряду. 
Информация о проданных билетах записана в двумерный массив (единицы означают, что на данное место билет продан, ноль - что место свободно). Руководителю кружка вместе с детьми необходимо k билетов.


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

В первой строке входных данных находятся числа nmk <= 100. В следующих n строках входных данных расположены по m чисел (0 и 1), разделенных пробелами.


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

Выведите YES или NO в зависимости от ответа на вопрос задачи.

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

Дан массив a из n целых чисел a1, a2,..., an. Научитесь быстро отвечать на запросы «Сколько чисел имеют значения от l до r»?


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

В первой строке находится целое число n (1<=n<=105) — длина массива. Во второй строке находятся n целых чисел a1, a2,..., an (−109<=ai<=109). В третьей строке находится целое число k (1<=k<=105) — число запросов. В следующих k строках находятся пары чисел l r (−109<=l<=r<=109).


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

Выведите k чисел (каждое в отдельной строке) - ответы на запросы.

 
Примеры
Входные данные Выходные данные
1
5
10 1 10 3 4
4
1 10
2 9
3 4
2 2
5
2
2
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
4
0
5

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


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

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


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

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

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

Громозека и Алиса придумали правила игры в бесконечную Дженгу.
В бесконченой Дженге каждый ход заключается в одном из двух действий на выбор игрока:

  • если в башне есть хотя бы один брусок, то можно вытащить и убрать из башни ровно один брусок (количество брусков в башне уменьшается на 1);
  • поставить на башню количество брусков на 1 больше, чем ставили в последний раз перед этим.
Первым ходом всегда устанавливается один брусок в пустую башню. Формально говоря, после первого хода башня состоит из одного бруска. Если после какого-то хода башня оказалась пустая (не имеет ни одного бруска), то в такую башню можно только установить брусок. Брусков для установки на башню у Алисы и Громозеки бесконечное количество.

Например, можно выполнить такую последовательность действий при игре:

1) установить один брусок на башню;
2) установить два бруска на башню;
3) убрать один брусок из башни;
4) убрать один брусок из башни;
5) установить три бруска на башню;
6) убрать один брусок из башни;
7) установить четыре бруска на башню;
8) убрать один брусок из башни;
9) установить пять брусков на башню.

После 9 ходов, количество брусокв в башне в итоге будет равно 11, а по ходу игры из башни извлекли 4 бруска.

Известно, что Алиса и Громозека сделали n ходов в придуманной игре, при этом после всех выполненных ходов, количество брусков в башне равнялось k. Найдите суммарное количество убранных Алисой и Громозекой с башни брусков за все n ходов. Гарантируется, что для заданных n и k ответ существует.

 

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

В первой строке входных данных заданы два целых числа n и (1<=n<=109; 0<=k<=109) - суммарное количество ходов и количество брусков в башне после n ходов. Гарантируется, что для заданных n и k ответ существует.


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

Выведите одно целое число - количество брусков, которые были вытащены Алисой и Громозекой вместе за время игры. Обратите внимание, что в этой задаче не может быть нескольких правильных ответов - ответ однозначно определяется по входных данным.
 

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