Информатика

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

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 5
-1
-2
2
3
-3 
2
✓ 193✗ 346500лёгкаяВойти и решать
В некотором мире сейчас 31 декабря. В саду Деда Мороза растет N ёлок. Снежик Сугробович решил украсить ёлки гирляндой. Чтобы свет от гирлянды был виден как можно дальше, он закрепил гирлянду на верхушке трёх самых высоких ёлок. Определите суммарную высоту, на которую поднимется Снежик Сугробович, развешивая гирлянду.

Входные данные
В первой строке вводится число N - количество ёлок (4 < N <= 100), а затем N целых чисел - высота каждой ёлки.

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

Примеры
Входные данные Выходные данные
1 7
3
3
6
3
4
3
4
14
 
 
✓ 138✗ 259700средняяВойти и решать
В каком-то другом мире сегодня 29 декабря. Дарёна с дедом Кокованей решили купить N товаров в универмаге для веселого празднования Нового года. Обычная цена i-го товара (1 <= i <= N) - pi серебряных камушек, причем pi всегда чётное. У деда Коковани есть купон на скидку, и он может купить один товар по самой высокой цене за половину обычной цены. Оставшиеся N − 1 позиции стоят по своей обычной цене. Сколько раз необходимо ударить Серебряному копытцу, чтобы Дарёна с дедом могли расплатиться за товар? За один удар из под копытца вылетает один серебреный камушек. 

Входные данные
В первой строке задано целое число N (2 <= N <= 105). В следующих N строках расположены целые положительные четные числа pi (100 <= pi <= 106), каждое число в отдельной строке.

Выходные данные
Выведите на экран ответ на задачу.
 
Примеры
Входные данные Выходные данные
1
3
4980
7980
6980
15950
✓ 99✗ 86700средняяВойти и решать
В каком-то другом мире сегодня D-е декабря. Напишите программу, которая выводит на экран "Happy New Year!", если D = 31, "Before Happy New Year!", если D = 30, "Before before Happy New Year!", если D = 29 и "Before before before Happy New Year!", если D = 28.

Входные данные
На вход подается целое число D (28 <= D <= 31). 

Выходные данные
Выведите на экран ответ соответствующую строку.
 
Примеры
Входные данные Выходные данные
1 31 Happy New Year!
2 28 Before before before Happy New Year!
У Пети есть n единичных квадратов. Он хочет одновременно сложить из них как можно больше различных квадратов. Для того, чтобы сложить квадрат со стороной k, требуется k2 единичных квадратов. Петя может не использовать все имеющиеся у него квадраты.
Определите, какое максимальное количество квадратов сможет сложить Петя.

Входные данные
На вход подаётся целое число n (1 ≤ n ≤ 1018). Обратите внимание, что для хранения такого числа требуется 64-битный тип данных (int64 в паскале, long long в C++).

Выходные данные
Выведите одно число — максимальное число различных квадратов, которое сможет сложить Петя.
 
Примеры
Входные данные Выходные данные
1 10 2
✓ 70✗ 240600лёгкаяВойти и решать
Комната характеризуется тремя целыми числами: длиной, шириной и высотой, заданными в миллиметрах. Комната считается хорошей, если выполнены следующие условия:
отношение меньшей из длины и ширины к высоте хотя бы 2, а также отношение большей из длины и ширины к меньшей не превосходит 2.
По заданным размерам комнаты определите, является ли она хорошей.

Входные данные
На вход подаётся три целых числа: w, l и h — длина, ширина и высота комнаты, каждое
на отдельной строке (1000 ≤ w, l, h ≤ 10 000).

Выходные данные
Если комната является хорошей, выведите «good», иначе выведите «bad».
 
Примеры
Входные данные Выходные данные
1 4000
6000
3000
bad
2 4600
8600
1600
good
Марья Ивановна с Марьей Михайловной привели школьников в кинотеатр. Чтобы не было никаких обид, Марья Ивановна построила всех школьников по алфавиту и рассадила их: сначала в первый ряд слева направо, затем во второй слева направо и т.д., заполнив весь зал из n рядов по m кресел. Тут пришла Марья Михайловна и сказала, что ребята сели неправильно – надо пересесть. Она предложила сначала заполнить все первые места от первого ряда к последнему, затем все вторые места и т. д.

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

Например, если n = 3 и m = 3, то в первом случае дети сядут так:

1    2    3
4    5    6
7    8    9
а во втором – так:
1    4    7
2    5    8
3    6    9
Таким образом, три школьника: 1, 5 и 9 останутся на своих местах.

Входные данные
Вводятся два целых числа n и m (1 ≤ n, m ≤ 109 ).

Выходные данные
Выведите количество школьников, которые останутся на своих местах.
 
Примеры
Входные данные Выходные данные
1 3 3 3
2 2 4 2
Даны два числа n и m. Создайте двумерный массив размерностью nхm и заполните его по следующему правилу:
- числа, стоящие в строке 0 или в столбце 0 равны 1 (A[0][j]=1, A[i][0]=1);
- значения остальных элементов массива должны быть равны сумме элементов, стоящих на один слобец левее и на одну строку выше от этого элемента. 

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

Выходные данные
Выведите на экран получившийся массив.
 
Примеры
Входные данные Выходные данные
1
3 3
1 1 1
1 2 3
1 3 6
Однажды на дистанционном уроке, проводимом при помощи какого-то сервиса видеоконференций, учитель заметил, что отсутствует один из N учащихся класса. Чтобы понять, кто именно отсутствует, учитель попросил каждого присутствующего ученика написать в чат его номер в классном журнале: число от 1 до N. Тогда после окончания урока, просмотрев сохранённый чат, учитель сможет понять, какой из учеников не написал свой номер. Помогите ему - напишите программу, которая сделает это.

Входные данные
В первой строке входных данных записано целое число N (1 <= N <= 105 ) — количество учеников в классе. Следующие N-1 строк содержат по одному числу — номера присутствовавших на уроке учеников в произвольном порядке. Среди этих чисел каждое число от 1 до N, кроме какого-то одного, встречается ровно один раз.

Выходные данные
Программа должна вывести одно число — номер отсутствовавшего ученика.
 
Примеры
Входные данные Выходные данные
1 5
2
5
1
3
4
✓ 213✗ 352600лёгкаяВойти и решать
Даны два числа n и m. Создайте двумерный массив A[n][m], заполните его таблицей умножения A[i][j]=i*j и выведите на экран. При этом нельзя использовать вложенные циклы, все заполнение массива должно производиться одним циклом.
Входные данные
Программа получает на вход два числа n и m – количество строк и столбцов, соответственно.

Выходные данные
Программа должна вывести  полученный массив. Числа разделяйте одним пробелом.
 
Примеры
Входные данные Выходные данные
1 3 3 0   0   0
0   1   2
0   2   4
Значение выражения \(11 \cdot 15^{65} + 18 \cdot 15^{38} – 14 \cdot 15^{17} + 19 \cdot 15^{11} + 18338\) записали в системе счисления с основанием 15. 
Выведите в первой строке через один пробел цифры в порядке возрастания, которые встречаются в результирующем числе (для цифр, которые больше 9, используйте большие английские буквы). Во второй строке количество различных цифр, с помощью которых записано результирующее число.
Программа получает на вход пятизначное число. Выведите  на экран два числа через пробел: количество цифр, которые больше всех своих соседей (у крайних цифр рассматривается только один сосед), и сумму цифр, у которых произведение с левым соседом больше, чем с правым (крайние цифры не рассматриваются, так как не имеют второго соседа). Если таких цифр нет, то выведите 0.
 
Примеры
Входные данные Выходные данные
1 33251 1 8
Программа получает на вход шестизначное число. Выведите  на экран два числа через пробел: наибольшую сумму, среди сумм составленных из четных и нечетных цифр числа, а также выведите количество четных цифр, у которых в соседях нечетные.
 
Примеры
Входные данные Выходные данные
1 127357 23 1
✓ 119✗ 872700средняяВойти и решать
Программа получает на вход шестизначное число. Выведите  на экран два числа через пробел: наименьшую сумму среди первых трех и последних трех цифр, а также выведите количество цифр 7, у которых в соседях есть хотя бы одна четная цифра.
 
Примеры
Входные данные Выходные данные
1 127357 10 1
✓ 174✗ 677700средняяВойти и решать
Программа получает на вход пятизначное число (3-я цифра числа не равна нулю). Выведите  на экран два числа через пробел: наибольшую сумму цифр среди  суммы цифр 1 и 2 и суммы цифр 4 и 5, а также выведите количество цифр, кратных 3-й цифре (без учета 3-й цифры).
 
Примеры
Входные данные Выходные данные
1 13245 9 1
Программа получает на вход пятизначное число. Выведите  на экран два числа через пробел: сумму цифр, кратных 4 и количество цифр, кратных 3.
 
Примеры
Входные данные Выходные данные
1 12345 4 1
В метании молота состязается n спортcменов. Каждый из них сделал m бросков. Победитель определяется по лучшему результату. Определите количество участников состязаний, которые разделили первое место, то есть определите количество строк в массиве, которые содержат значение, равное наибольшему.

Входные данные
Программа получает на вход два числа n и m, являющиеся числом строк и столбцов в массиве. Далее во входном потоке идет n строк по m чисел, являющихся элементами массива.

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

 Примеры
Входные данные Выходные данные
1 3 3
3 1 2
1 3 4
3 3 3
1
Дана функция \(z(x) = ax^3 + bx^2 + cx + d\). Для заданных чисел a, b, c и d, выведите все целые значения x из диапазона от 0 до 1000, при которых функция z(x) принимает нулевое значение.

Входные данные
Программа получает на вход 4 числа: a, b, c и d. Каждое число записано в отдельной строке.

Выходные данные
Выведите все значение x, которые удовлетворяют условию задачи в порядке возрастания. 
 
Примеры
Входные данные Выходные данные
1 1
-5
6
0
0 2 3
Некоторые деревни соединены между собой дорогами, которые можно представить в виде неориентированного графа. Вершины данного графа - это деревни, а ребра - дороги между деревнями (граф может содержать циклы). Известно, что в деревне S основана артель коробейников. Каждое утро, чтобы продать свою мелкую галантерею, коробейники выходят в деревни, которые еще не посетили, и в которые есть дорога из текущей. Артель коробейников всегда делится на группы так, чтобы они могли за один день обойти все деревни, которые имеют дороги из текущей.
За сколько дней коробейники посетят все деревни?
Напишите функцию \(bfs()\), которая будет возвращать ответ на задачу.


Входные данные
В первой строке вводятся 3 целых числа n, m, (\(1 <= n <= 10^5\), \(0 <= m <= 10^5\), \(1 <= s <= n\)) - количество деревень, количество дорог между ними и номер деревни, в которой основана артель коробейников. В следующих m строках содержится по 2 числа u, v(\(1 <= u, v <= n\)) - номера двух деревень, между которыми есть дорога. Индексация деревень ведется с 1.

Выходные данные
Выведите одно число - за сколько дней коробейники посетят все деревни.
 
 
Примеры
Входные данные Выходные данные
1 6 7 1
1 2
1 5
2 3
5 4
3 4
3 6
4 6
4
На входе в общежитие стоит турникет. Чтобы через него пройти, требуется приложить пропуск. Пропуск надо прикладывать и при входе в общежитие и при выходе из него. Для того, чтобы исключить несанкционированные проходы, пропуск не работает два раза подряд на вход и два раза подряд на выход.

Однако, хитрые студенты придумали, как обойти это ограничение. Чтобы войти или выйти вдвоем по одному пропуску, они прикладывают его с нужной стороны, потом с противоположной, но никто не проходит, а затем снова с нужной. 

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

Вам дан журнал событий турникета. Требуется вывести список тех студентов, кому будет сделан выговор

Входные данные
В первой строке задано два числа n и dt — число записей в журнале событий турникета и ограничение времени, выбранное начальником охраны, соответственно (1≤n≤1000, 3≤dt≤1440).
В следующих nn строках даны записи в журнале событий в хронологическом порядке. Запись в журнале состоит из трех частей, разделенных пробелом:
  •  Время события в формате hh:mm
  •  Фамилия студента, состоящая из не более чем 20 букв латинского алфавита, первая из которых заглавная.
  •  Тип события: in, если произошел вход и out, если произошел выход.

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


Выходные данные
В первой строке выведите число нарушителей. После чего выведите фамилии нарушителей в лексикографическом порядке.
 

Примеры
Входные данные Выходные данные
1 6 10
01:23 Petrov in
01:24 Ivanov out
01:25 Petrov out
01:27 Ivanov in
01:32 Petrov in
01:33 Ivanov out
1
Petrov
2 6 10
01:23 Petrov in
01:24 Ivanov out
01:25 Petrov out
01:27 Ivanov in
01:33 Petrov in
01:34 Ivanov out
0
✓ 37✗ 129600лёгкаяВойти и решать
Поделиться
Класснуть