Информатика

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

Магистр Максимус создал массив из n неотрицательных целых чисел, но чтобы сохранить его в тайне, он преобразовал его в другой массив encoded длиной n-1. Каждый элемент encodedi был получен путем выполнения операции XOR над двумя соседними элементами arr[i] и arr[i+1]. Например, если исходный массив arr = [1,0,2,1], то полученный массив encoded = [1,2,3].

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

Помогите Магистру Максимусу восстановить исходный массив arr! Мы уверены, что ответ существует и является уникальным. Расшифруйте тайну и восстановите массив arr.



Входные данные
Программа получает на вход в первой строке число n - количество элементов исходного массива. Вторая строка содержит n-1 число encodedi - элементы закодированного массива. 
 

Ограничения

  • 2 <= n <= 104
  • Длина массива encoded == n - 1
  • 0 <= encodedi <= 105
  • 0 <= first <= 105


Выходные данные
Выведите n чисел в однй строку через пробел - элементы исходного массива arr.
 
 
Примеры
Входные данные Выходные данные
1
4 
1 2 3 
1
1 0 2 1
2
5
6 2 7 3
4
4 2 0 7 4
Когда-то давно, в мире чисел произошло необычное событие. Числа начали обретать новое свойство - свойство "установленных битов". Если представить число в двоичной системе, то установленные биты - это цифры, которые равны единице.
Ваш задача заключается в том, чтобы подсчитать сумму элементов в массиве nums, чьи индексы содержат ровно k таких установленных битов. 

Входные данные
Программа получает на вход в первой строке число n - количество элементов в массиве nums. Во второй строке записаны n чисел numsi - элементы массива. В третьей строке записано число k.
 

Ограничения:

  • 1 <= n <= 1000
  • 1 <= nums[i] <= 105
  • 0 <= k <= 10
  • 0 <= i < n


Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1
5
5 10 1 5 2
1
13
2
4
4 3 2 1
2
1
Магистр Максимус отправился на поиски волшебных реликвий в глубины древнего храма. В храме находятся два вида артефактов - драгоценные камни и мистические амулеты. Камней A штук, а амулетов - B штук. Для того, чтобы вынести артефакты из храма, Максимус использует специальные контейнеры, в каждый из которых можно поместить только три артефакта. При этом в каждом контейнере должны быть артефакты обоих видов - либо два камня и один амулет, либо один камень и два амулета.
Помогите Магистру Максимусу определить, можно ли упаковать все имеющиеся артефакты в контейнеры, и если да, то предложить подходящий способ размещения артефактов по контейнерам.


Входные данные
Программа получает на вход два целых числа A и B, записанных в отдельных строках. 1 <= A <= 109, 1 <= B <= 109.

Выходные данные
Если можно разложить все артефакты по контейнерам в соответствии с условием задачи, программа должна вывести два целых числа. Первое число равно количеству контейнеров, в которых лежит два драгоценных камня и один амулет. Второе число равно количеству контейнеров, в которых лежит один драгоценный камень и два амулета. 
Если разложить все артефакты по контейнерам нужным способом нельзя, программа должна вывести одно число -1.
 
Примеры
Входные данные Выходные данные
1 4
5
1 2
2 5
3
-1
Магистр Максимус путешествует по Дороге Вечности, где волшебные порталы расположены через каждые K метров от начала дороги. Волшебные порталы способны транспортировать магистра Максимуса в различные миры-измерения, где он может получить новые знания, навыки и магические силы. Магистр Максимус прошел N метров, когда внезапно ощутил волшебную усталость. Он желает найти ближайший волшебный портал, чтобы погрузиться в новое измерение и получить свежую порцию магии.
Помогите Максимусу определить, сколько метров ему осталось пройти, чтобы достичь ближайшего волшебного портала на Дороге Вечности и открыть для себя новые миры волшебства и приключений.


Входные данные
Программа получает на вход два целых числа K и N, записанных в отдельных строках.

Ограничения
  • 1 <= K <= 2 × 109
  • 1 <= N <= 2 × 109

Выходные данные
Программа должна вывести одно целое число — расстояние до ближайшей остановки.
 
Примеры
Входные данные Выходные данные
1 600
2000
200

В компании работает n сотрудников, пронумерованных от 0 до n-1. I-й сотрудник (сотрудник с номером i)  отработал hoursi часов в компании. Назовем нормой определенное количество часов, установленное компанией, в рамках которой сотрудники должны выполнять свои обязанности. Руководство компании установила норму на уровне не менее t часов. 

Определите количество сотрудников, которые отработали норму.


Входные данные
Программа получает на вход в первой строке натуральное число n - количество сотрудников в компании. Вторая строка содержит n чисел hoursi - количество часов, отработанных i-м сотрудником. Третья строка содержит число t.
 

Ограничения

  • 1 <= n <= 50
  • 0 <= i <= n-1
  • 0 <= hoursi, t <= 105


Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1
5
0 1 2 3 4
2
3
2
5
5 1 4 2 2
6
0
Магистр Максимус со своим верным другом фокусником Феликсом играют в игру камушки. Правила этой игры описаны ниже.
  • Вначале на столе лежит куча камней.
  • Ходы Максимуса и Феликса чередуются по очереди, причем Максимус всегда ходит первым.
  • На каждом ходу тот, чья очередь подошла, убирает от 1 до 3 камней из кучи.
  • Побеждает тот, кто уберет последний камень.
Учитывая n - количество камней в куче, верните имя того, кто победит в игре, при условии, что и Максимус, и Феликс всегда играют оптимально.

Входные данные
Программа получает на вход натуральное число n - количество камней в куче (1<= n <= 231 - 1).

Выходные данные
Выведите одну из английских букв: M, если победит в игре Максимус и F - если победит Феликс.
 
 
Примеры
Входные данные Выходные данные
1 4 F
2 2 M

Три скворца сидят на ветке дерева. Ветку дерева будем считать числовой прямой. С учетом этого, можно сказать, что скворцы сидят в трёх разных точках с целочисленными координатами ab, c. Когда скорцам становится скучно, один из крайних скворцов перелетает на другое место (скворец считается крайним, если слева или справа нет другого скворца). Причем, из-за того, что скворцы не хотят улетать друг от друга слишком далеко, скворец, который решил сменить положение, перелетает только в целочисленную точку между двумя другими скворцами, если такая есть. Скворцы могут менять свое положение до тех пор пока их положение не станет "не летным". "Не летным" называется положение, при котором ни один из скорцов не может перелететь и сесть между двумя другими в целочисленную точку. 

По начальному положению скворцов определите минимальное и максимальное число перелетов, которые могут совершить скворцы, пока не попадут в какое-нибудь "не летное" положение.



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

В трёх строках заданы три различных целых числа - ab, c (1 <= ab, c <= 1018), исходные позиции скворцов.


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

Выведите два числа -  минимальное и максимальное число перелетов, за которое скворцы могут достичь "не летного" положения.

  
Примеры
Входные данные Выходные данные
1
1
3
4
1
1
2
1
10
2
2
7
3
1
2
3
0
0
4
2
1
5
2
2
Трое волшебников из округа Феймарч защищают свою землю от темных сил. Каждый волшебник обладает своей собственной магической силой. Первый волшебник имеет магическую силу равную MP1, второй – MP2, третий – MP3. 
Три волшебника смогут победить темные силы, если как минимум у двоих из них сила будет не меньше, чем у темных сил.
Определите, какую максимальную силу могут выдержать эти волшебники, чтобы успешно справиться с темными силами.

Входные данные
Программа получает на вход три целых положительных числа MP1, MP2MP3, не превосходящие 2×109, – магические силы каждого из волшебников. 

Выходные данные
Программа должна вывести одно число – максимальную силу, которую они смогут победить.
 
 
Примеры
Входные данные Выходные данные
1 30
10
20
20
Трое волшебников из округа Феймарч защищают свою землю от темных сил. Каждый волшебник обладает своей собственной магической силой. Первый волшебник имеет магическую силу равную MP1, второй – MP2, третий – MP3. 
Три волшебника смогут победить темные силы, если как минимум у двоих из них сила будет не меньше, чем у темных сил.
Определите, какую максимальную силу могут выдержать эти волшебники, чтобы успешно справиться с темными силами.

Входные данные
Программа получает на вход три целых положительных числа MP1, MP2MP3, не превосходящие 2×109, – магические силы каждого из волшебников. 

Выходные данные
Программа должна вывести одно число – максимальную силу, которую они смогут победить.
 
 
Примеры
Входные данные Выходные данные
1 30
10
20
20
Даны два целочисленных массива nums1 и nums2. Выведите в первой строке в порядке возрастания все элементы первого массива, которых нет во втором массиве. Во второй строке выведите в порядке возрастания все элементы второго массива, которых нет в первом. Обратите внимание, элементы в первой строке должны быть уникальны, элементы во второй строке также должны быть уникальны.

Формат входных данных 
В первой строке записано число n - количество элементов массива nums1. Вторая строка содержит n чисел nums1i - элементы массива. Треться строка содержит число m - количество элементов массива nums2. Четвертая строка содержит m чисел nums2i - элементы массива.

Ограничения

  • 1 <= длина массива nums1 и длина массива nums2 <= 1000
  • 0 <= nums1i, nums2i <= 1000

Формат выходных данных 
Выведите результирующий массив. Все элементы должны быть выведены в одной строке через пробел.
✓ 107✗ 173400лёгкаяВойти и решать
Даны два целочисленных массива nums1 и nums2. Обновите элементы массива nums1, оставив только уникальные среди тех, которые присутствуют в массиве nums1 и в nums2, но не в обоих сразу. Выведите все уникаьлные элементы массива nums1 после обновления. Элементы должны быть выведены в порядке возрастания.

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

Входные данные
В первой строке записано число n - количество элементов массива nums1. Вторая строка содержит n чисел nums1i - элементы массива. Треться строка содержит число m - количество элементов массива nums2. Четвертая строка содержит m чисел nums2i - элементы массива.

Ограничения

  • 1 <= длина массива nums1 и длина массива nums2 <= 1000
  • 0 <= nums1i, nums2i <= 1000


Выходные данные
Выведите результирующий массив. Все элементы должны быть выведены в одной строке через пробел.
 
 
Примеры
Входные данные Выходные данные
1
3
4 9 5 
5
9 4 9 8 4
5 8
✓ 79✗ 127500лёгкаяВойти и решать
Даны два целочисленных массива nums1 и nums2. Удалите из массива nums1 элементы, которые есть в nums2. Выведите все уникальные элементы массива nums1 после удаления. Элементы должны быть выведены в порядке возрастания.

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

Входные данные
В первой строке записано число n - количество элементов массива nums1. Вторая строка содержит n чисел nums1i - элементы массива. Треться строка содержит число m - количество элементов массива nums2. Четвертая строка содержит m чисел nums2i - элементы массива.

Ограничения

  • 1 <= длина массива nums1 и длина массива nums2 <= 1000
  • 0 <= nums1i, nums2i <= 1000


Выходные данные
Выведите результирующий массив. Все элементы должны быть выведены в одной строке через пробел.
 
 
Примеры
Входные данные Выходные данные
1
3
4 9 5 
5
9 4 9 8 4
5
✓ 97✗ 159500лёгкаяВойти и решать
Даны два целочисленных массива nums1 и nums2. Сформируйте третий массив путем объединения элементов заданных двух массивов. Каждый элемент результирующего массива должен быть уникальным. Элементы должны быть выведены в порядке возрастания.

Формат входных данных 
В первой строке записано число n - количество элементов массива nums1. Вторая строка содержит n чисел nums1i - элементы массива. Треться строка содержит число m - количество элементов массива nums2. Четвертая строка содержит m чисел nums2i - элементы массива.

Ограничения

  • 1 <= длина массива nums1 и длина массива nums2 <= 1000
  • 0 <= nums1i, nums2i <= 1000

Формат выходных данных 
Выведите результирующий массив. Все элементы должны быть выведены в одной строке через пробел. 
Даны два целочисленных массива nums1 и nums2. Сформируйте третий массив путем пересечения элементов заданных двух массивов. Каждый элемент результирующего массива должен быть уникальным. Элементы должны быть выведены в порядке возрастания.

Входные данные
В первой строке записано число n - количество элементов массива nums1. Вторая строка содержит n чисел nums1i - элементы массива. Треться строка содержит число m - количество элементов массива nums2. Четвертая строка содержит m чисел nums2i - элементы массива.

Ограничения

  • 1 <= длина массива nums1 и длина массива nums2 <= 1000
  • 0 <= nums1i, nums2i <= 1000


Выходные данные
Выведите результирующий массив. Все элементы должны быть выведены в одной строке через пробел в порядке возрастания.
 
 
Примеры
Входные данные Выходные данные
1
3
4 9 5 
5
9 4 9 8 4
4 9
✓ 78✗ 116400лёгкаяВойти и решать
Магистр Аркадий любит работать со строками и создавать для них шаблоны. Сейчас у Аркадия есть строка-шаблон и строка s. Аркадий хочет, чтобы вы определили подходит ли данная строка-шаблон для строки s.

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

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

Выходные данные
Выведите YES, если строка-шаблон  подходит для строки s, и NO в противном случае.
 
 
Примеры
Входные данные Выходные данные
1
abba
dog cat cat dog
YES
2
abba
dog cat cat fish
NO
✓ 47✗ 92600лёгкаяВойти и решать

Магистр Аркадий очень любит работать со строками и превращать одни строки в другие. Он считает, что две строки s и t являются "магическими", если символы в можно заменить таким образом, чтобы получилась строка t. При этом, все вхождения символа заменяются на другой символ с сохранением порядка следования символов. НО, никакие два символа не могут быть заменены на один и тот же символ. Однако символ может быть заменен на самого себя.

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

Ограничения

  • 1 <= Длина строки s <= 5 * 104
  • Длина строки s = Длина строки t
  • s и t состоят из любых допустимых ASCII символов



Выходные данные
Выведите YES, если данные строки "магические" и NO в противном случае. Вы можете можете выводить ответ в любом регистре.
 

Примеры
Входные данные Выходные данные
1
egg
add
YES
1
foo
bar
NO
✓ 19✗ 203900средняяВойти и решать

Магистр Аркадий любит путешествовать на поезде. Он собирается отправиться в множество поездок в течение года и заранее знает, в какие дни он поедет.

Аркадий может купить билеты по разным тарифам:

  • 1-дневный тариф стоит C1 рублей;
  • 7-дневный тариф стоит C2 рублей;
  • 30-дневный тариф стоит C3 рублей.

Каждый билет начинает действовать с того дня, когда был куплен. 
Например, если Аркадий купит 7-дневный билет на 2-й день путешествия, то он  сможет путешествовать 7 дней: 2, 3, 4, 5, 6, 7 и 8 дни.

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


Входные данные
Первая строка содержит натуральное число n - количество дней, в которые Аркадий планирует путешествовать. Вторая строка содержит порядковые номера дней, в которые Аркадий планирует путешествовать (daysi). Третья строка содержит три числа: C1, C2, C3.
 

Ограничения:

  • 1 <= n <= 365
  • 1 <= daysi <= 365
  • Порядковы номера дней daysi даются в строго возрастающем порядке.
  • 1 <= С1, С2, С3 <= 1000


Выходные данные
Выведите минимальное количество рублей, которое Аркадию придется заплатить за билеты.
 
 
Примеры
Входные данные Выходные данные
1
6
1 4 6 7 8 20
2 7 15
11
2
12
1 2 3 4 5 6 7 8 9 10 30 31 
2 7 15
17
Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n, если n < 11,
F(n) = n + F(n­ –1), если n ≥ 11


По заданным числам A и B вычислите значение выражения F(A) – F(B)?

Входные данные
А и B вводятся с клавиатуры (2000 <= A, B <= 5000). Каждое число в отдельной строке.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 2023
2007
32248
Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 7, если n < 7,
F(n) = n + 1 + F(n­ –2), если n ≥ 7.


По заданным числам A и B вычислите значение выражения F(A) – F(B)?

Входные данные
А и B вводятся с клавиатуры (2000 <= A, B <= 5000). Каждое число в отдельной строке.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 3000
2000
1251000
Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 3, если n < 3,
F(n) = 2n + 5 + F(n­ – 2), если n ≥ 3.


По заданным числам A и B вычислите значение выражения F(A) – F(B)?

Входные данные
А и B вводятся с клавиатуры (2000 <= A, B <= 5000). Каждое число в отдельной строке.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 3000
2000
2503500
Поделиться
Класснуть