Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.
 
2023-05-2#63229
Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число, оканчивающееся на 4.

Пример работы программы:
Входные данные Выходные данные
4
24
14
34
10
14

В поле ввода ответа вставьте текст программы и прикрепите файл с исходным кодом
2023-05-1#63228
 Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 5. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 5. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, кратное 5.

Пример работы программы:
Входные данные Выходные данные
3
10
25
12
25

В поле ввода ответа вставьте текст программы и прикрепите файл с исходным кодом
 
2023-в2#63227
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.

Пример работы программы:
Входные данные Выходные данные
8
122
64
16
0
29.3
111
1
0
NO

 
2023-в1#63226
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 100. Введённые числа не превышают 300.
Программа должна вывести среднее арифметическое двузначных чисел или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.

Пример работы программы:
Входные данные Выходные данные
10
120
49
0
29.5
111
1
0
NO


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

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число – сумму чисел, оканчивающихся на 3
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6 и оканчивающееся на 2.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 6 и оканчивающихся на 2.
Напишите программу для решения следующей задачи.

Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.

Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 2.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 3 и оканчивающихся на 2.
Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 7. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 - признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

Программа должна вывести одно число: количество чисел, кратных 5 или 7.
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 20. Введённые числа не превышают 1500.

Программа должна вывести одно число: сумму всех двузначных чисел, кратных 8.
Напишите программу для решения следующей задачи.

Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.

Программа получает на вход количество яхт, принимавших участие в регате N (1 ≤ N ≤ 100), затем для каждой яхты вводится два числа: часы и минуты, затраченные на прохождение маршрута.
Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0 (0 - признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести среднее арифметическое двузначных чисел или вывести NO, если таких чисел в последовательности нет.
Злым числом в математике называется неотрицательное целое число с чётным числом единиц в его двоичной записи (например, число 5 — злое, в его двоичной записи две единицы). Они используются в теории чисел при исследовании последовательности Морса–Туэ и применяются в алгоритмах фрактального сжатия изображений. Натуральное число будем называть очень злым, если само оно чётное и количество единиц в его двоичной записи также чётное. Это такие числа, как 6, 10, 12, 18, 20 и так далее. По данному n определите количество очень злых чисел, не превосходящих n.

Формат входных данных
Единственная строка входного файла содержит натуральное число n (1 ≤ n ≤ 109 ).

Формат выходных данных
Выведите одно неотрицательное целое число — количество очень злых натуральных чисел, не превосходящих n.
На столе у большого начальника лежит стопка из N заявлений, пронумерованных сверху вниз от 1 до N. Первое заявление он подписывает и убирает из стопки, второе — выбрасывает в мусорную корзину, третье — кладёт вниз стопки. Далее процесс продолжается аналогично, пока заявления в стопке не закончатся. Определите, будет ли заявление с номером K подписано или выброшено, а также номер шага, на котором это произойдёт. Одним шагом является каждая из трёх операций, описанных выше.

Формат входных данных
Первая строка входных данных содержит целое число N, вторая строка — целое число K (1 ≤ N ≤ 109 , 1 ≤ K ≤ N).
Формат выходных данных
В первой строке выведите «Yes», если заявление с номером K будет подписано, и «No», если оно будет выброшено. Во второй строке выведите номер шага, на котором это произойдёт.

Замечание
В первом примере из условия в стопке находятся 4 заявления: (1, 2, 3, 4). Заявление 1 подписывается, заявление 2 выкидывается, заявление 3 перекладывается в конец. После выполнения трёх шагов в стопке будут заявления (4, 3). Поэтому на пятом шаге заявление 3 будет выброшено.
Во втором примере из условия стопка имеет вид (1, 2, 3, 4, 5). После выполнения трёх шагов стопка будет иметь вид (4, 5, 3). За следующие три шага заявление 4 будет подписано, заявление 5 будет выброшено, а заявление 3 — переложено в конец стопки (в которой ничего не будет, кроме заявления 3). Поэтому после шести шагов стопка будет иметь вид (3). На седьмом шаге заявление 3 будет подписано.
Тимофею на день рождения родители подарили металлоискатель. Естественно, наутро мальчик отправился на поиски клада. Он предположил, что когда-то давно кто-то мог обронить золотую монету на древней прямой дороге и для облегчения поиска придумал систему координат. Ось абсцисс OX направлена вдоль дороги, а ось ординат OY направлена вверх.
Устройство работает следующим образом: на его индикаторе выставляется натуральное число r и если ровно на этом расстоянии имеется золотой предмет, то загорается зелёная лампочка.
Сначала юный кладоискатель выставил число r1 в точке x = 0, затем отошёл в точку с абсциссой x = a и выставил число r2, как показано на рисунке. Новичкам везёт, оба раза загорелась зелёная лампочка. Определите координаты потерянной когда-то давно золотой монетки.

Формат входных данных
Программа получает на вход три целых числа a, r1 и r2, записанных в отдельных строках (1 ≤ a, r1, r2 ≤ 109 ).
Формат выходных данных
Выведите в двух строках два числа – координаты сокровища (сначала — абсциссу, потом — ординату). Значение ординаты должно быть не положительным (монетка не может висеть в воздухе). Гарантируется, что входные данные таковы, что ответ существует и обе координаты монеты будут целыми числами.

Замечание
Рисунок соответствует примеру из условия.
Родители Лизы подключили пакет, содержащий N телевизионных каналов, пронумерованных числами от 1 до N. Переключать каналы можно с помощью двух кнопок на пульте: «+» и «−». Короткое нажатие на кнопку «+» приведёт к переключению на следующий канал, если номер текущего канала меньше N; если же номер текущего канала равен N, то телевизор продолжит показывать этот канал. Если кнопку «+» нажать и удерживать некоторое время, произойдёт переход на K каналов вперёд, при условии, что номер текущего канала не превосходит N − K. В противном случае произойдёт переход на канал N.
Аналогично, короткое нажатие на кнопку «−» приведёт к переключению на предыдущий канал, если номер текущего канала больше 1; если же номер текущего канала равен 1, телевизор продолжит показывать этот канал. Если кнопку «−» нажать и удерживать некоторое время, то произойдёт переход на K каналов назад при условии, что номер текущего канала превышает K. В противном случае произойдёт переход на канал 1.
Лиза включила телевизор и обнаружил, что он показывает канал P. Лиза знает, что очень скоро по каналу с номером U начнётся интересная передача. Определите, какое минимальное количество нажатий на кнопки пульта потребуется сделать Лизе, чтобы переключиться на канал U.
Формат входных данных
В первой строке содержится целое число N (3 ≤ N ≤ 109 ) — количество телевизионных каналов.
Во второй строке содержится целое число K (2 ≤ K < N) — количество каналов, на которое осуществится переход назад или вперёд при удерживании соответствующей кнопки переключения.
В третьей строке содержится целое число P (1 ≤ P ≤ N) — номер канала, который показывает телевизор.
В четвёртой строке содержится целое число U (1 ≤ U ≤ N) — номер канала, на который желает переключиться Лиза. Гарантируется, что P = U.
Формат выходных данных
Выведите одно целое неотрицательное число — минимальное количество нажатий на кнопки пульта, которое необходимо для переключения с канала P на канал U.

Замечание
В первом примере Лизе следует сначала выполнить одно короткое нажатие на кнопку «+» и переключиться с канала 3 на канал 4, а затем трижды осуществить переход вперёд на 5 каналов: сначала переключиться с 4 на 9, затем с 9 на 14 и, наконец, с 14 на 19 канал.
Во втором примере Лиза может сначала переключиться коротким нажатием на кнопку «−» на канал 2, после чего выполнить три перехода вперёд на 5 каналов: с канала 2 на канал 7, затем на канал 12 и, наконец, на канал 17.
В третьем примере Лиза дважды выполнит короткое нажатие кнопки «−».
В четвёртом примере Лизе нужно сначала перейти назад, на канал 1, после чего трижды выполнить переход вперёд, последовательно на каналы 6, 11, 16.

Шоколад помогает развивать ум и укреплять дух! Старец Летовец после своих занятий угощает своих учеников шоколадом. На следующем занятии у него будет M учеников и каждому из них Старец хочет дать по одной плитке шоколада.

Чтобы купить нужное количество шоколада, старец отправил своего праправнука Летовёнка разузнать, какое минимальное количество денег ему понадобится.
Оказывается, каждый магазин продаёт шоколад по разной цене. В i-м магазине можно купить не более Bi​ плиток шоколада по цене Аi​ рублей за плитку. Летовец хочет потратить как можно меньше денег, но при этом купить ровно M плиток шоколада. 

Помогите Летовёнку посчитать какую минимульную сумму на шоколад потратит старец Летовец. 


Формат входных данных
В первой строке заданы два числа: N и M (1 <= N, M <= 105). Следующие N строк содержат по 2 числа: Ai (1 <= Ai <= 109) и Bi (1 <= Вi <= 105). \(B_1 + B_2 +... + B_N >= M\).


Формат выходных данных
Выведите минимальную сумму денег, необходимую для покупки M плиток шоколада.
 
Примеры
Входные данные Выходные данные
1 2 5
4 9
2 4
12
2 4 30
6 18
2 5
3 10
7 9
130
3 1 100000
1000000000 100000
100000000000000

Летовецкие числа — это положительные целые числа, которые делятся на ab или c.

Напишите программу, которая находит n-е по счёту летовецкое число.

Формат входных чисел
Программа получает на вход четыре целых положительных числа nab, и c. Каждое число записано в отдельной строке. 
Ограничения на входные данные

  • 1 <= n, a, b, c <= 109
  • 1 <= a * b * c <= 1018
  • Гарантируется, что результат находится в диапазоне [1, 2 * 109].



Формат выходных чисел
Ваша программа должны вывести одное число -  n-е по счёту летовецкое число.
 

Рамазан решил заняться серьезным бизнесом — выращиванием капусты.

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

Рамазан засадил только часть поля. Он запланировал использовать несколько прямоугольных участков поля, причём оказалось, что некоторые из них могут пересекаться. Клетка поля принадлежит посадкам, если она лежит хотя бы в одном из прямоугольников.


Формально, Рамазан выбрал \(n\) прямоугольных участков \((x_i^{L}, y_i^{L}, x_i^{R}, y_i^{R})\) (\(x_i^{L} \leq x_i^{R}\), \(y_i^{L} \leq y_i^{R}\), \(1 \leq i \leq n\)). Клетка \((x, y)\) содержит капусту, если существует хотя бы один выбранный прямоугольник \(i\) (\(1 \leq i \leq n\)), такой что \(x_i^{L} \leq x \leq x_i^{R}\) и \(y_i^{L} \leq y \leq y_i^{R}\).

В прошлом Рамазан был программистом (и победителем), поэтому он решил использовать роботов с искусственным интеллектом для периодической обработки посадок. Один робот может обслуживать произвольный горизонтальный участок клеток \((x_1^{robot}, x_2^{robot}, y^{robot})\), то есть все клетки \((x, y)\), такие что \(x_1^{robot} \leq x \leq x_2^{robot}\) и \(y = y^{robot}\).

Важно, чтобы роботы ездили только по участкам с посадками. Он понял, что для минимизации количества роботов важно использовать горизонтальные участки, которые нельзя расширить. Рамазан будет использовать робота на участке клеток \((x_1^{robot}, x_2^{robot}, y^{robot})\), если:

  • Все клетки \((x, y)\), такие что \(x_1^{robot} \leq x \leq x_2^{robot}\) и \(y = y^{robot}\) принадлежат посадкам;

  • Клетка \((x_1^{robot} - 1, y^{robot})\) не принадлежит посадкам;

  • Клетка \((x_2^{robot} + 1, y^{robot})\) не принадлежит посадкам.

Ваша задача собрать важную статистику о роботах, которые будут работать на плантации. Будем говорить, что пара \((x_1, x_2)\) обслуживается в ряду \(y\), если существует робот, работающий ровно на участке \((x_1, x_2, y)\).

  • Найдите все пары \((x_1, x_2)\), которые обслуживаются в каком-нибудь ряду.

  • Для каждой такой пары \((x_1, x_2)\) найдите количество рядов, в которых она обслуживается.

  • Для каждой такой пары \((x_1, x_2)\) найдите максимальное количество подряд идущих рядов, в которых она обслуживается. Другими словами, найдите максимальное число \(k\), такое что существует отрезок \(k\) подряд идущих рядов \([y_1, y_2]\) (\(y_2 - y_1 + 1 = k\)), такой что для любого ряда \(y_1 \leq y \leq y_2\), пара \((x_1, x_2)\) обслуживается в ряду \(y\).


Формат входных данных
Каждый тест состоит из нескольких наборов входных данных. В первой строке дано одно целое число \(t\) (\(1 \leq t \leq 200\,000\)) — количество наборов входных данных. Далее следуют описания наборов входных данных.

В первой строке каждого набора входных данных дано единственное целое число \(n\) (\(1 \leq n \leq 200\,000\))  — количество выбранных прямоугольных участков.

В следующих \(n\) строках дано по четыре целых числа \(x_i^{L}\), \(y_i^{L}\), \(x_i^{R}\), \(y_i^{R}\) (\(1 \leq x_i^{L} \leq x_i^{R} \leq 10^9\), \(1 \leq y_i^{L} \leq y_i^{R} \leq 10^9\)) — описания выбранных прямоугольных участков.

Обозначим за \(N\) сумму \(n\) по всем наборам входных данных в одном тесте. Гарантируется, что \(N \leq 200\,000\).

Формат выходных данных
Для каждого набора входных данных сначала выведите единственное целое число \(p\) (\(p \geq 1\)) — количество пар \((x_1, x_2)\), которые обслуживаются в каком-нибудь ряду.

В следующих \(p\) строках выведите по четыре целых числа \(x_1\), \(x_2\), \(cnt\), \(k\) (\(1 \leq x_1 \leq x_2 \leq 10^9\), \(0 \leq cnt, k \leq 10^9\)). Число \(cnt\) должно быть равно количеству рядов, в которых обслуживается пара \((x_1, x_2)\). Число \(k\) должно быть равно максимальному количеству подряд идущих рядов, в которых обслуживается пара \((x_1, x_2)\).

Все пары \((x_1, x_2)\) должны быть различны. Каждая пара, которая обслуживается в каком-нибудь ряду, должна быть выведена ровно один раз. Можно вывести пары в произвольном порядке.


Система оценки
Для набора входных данных обозначим за \(w\) ширину поля, то есть \(w = \max\limits_{i=1}^{n} x_i^{R}\), за \(h\) высоту поля, то есть \(h = \max\limits_{i=1}^{n} y_i^{R}\).

3-5 [0cm][0cm]Подз. [0cm][0cm]Баллы \(n\), \(N\) \(w, h\) дополнительно

[0cm][0cm]

Необх. подзадачи

 
1 4 \(n = 1\)        
2 8   \(h = 1\)      
3 8 \(n \leq 30\), \(N \leq 3000\) \(w, h \leq 10\) \(t \leq 100\) У  
4 4   \(w, h \leq 5000\), \(\sum wh \leq 25 \cdot 10^6\)   У, 3  
5 8 \(N \leq 3000\)     У, 3  
6 4 \(N \leq 10\,000\)     У, 3, 5  
7 8     все \([x_i^{L}, x_i^{R}]\) пересекаются 1  
8 8     \(y_i^{L} = 1\) 2  
9 8     прямоугольники не пересекаются 1  
10 8     \(\forall 1 \leq i, j \leq n\) \(\forall y \in [y_i^{L}, y_i^{R}] \cap [y_j^{L}, y_j^{R}]\) выполнено \([x_i^{L}, x_i^{R}] \nsubseteq [x_j^{L}, x_j^{R}]\) 1, 9  
11 8     все отрезки \([x_i^{L}, x_i^{R}+1]\) либо вложены, либо не пересекаются 1  
12 8 \(N \leq 50\,000\)     У, 3, 5 – 6  
13 8 \(N \leq 100\,000\)     У, 3, 5 – 6, 12  
14 8 \(N \leq 200\,000\)     У, 1 – 13  
  • Если для теста ваше решение неправильно находит множество пар \((x_1, x_2)\), которые обслуживаются в каком-нибудь ряду, решение получает вердикт <<Неправильный ответ>>.

  • Если во всех тестах подзадачи и необходимых подзадач решение

    • правильно находит множество, но не все \(cnt\) верны, оно получает \(50\%\) баллов за подзадачу.

    • правильно находит множество и все \(cnt\), но не все \(k\) верны, оно получает \(75\%\) баллов за подзадачу.

    • правильно находит множество, все \(cnt\) и все \(k\), оно получает \(100\%\) баллов за подзадачу.

Обратите внимание, что для получения частичных баллов за подзадачу, все равно необходимо вывести какие-нибудь значения \(cnt\) и \(k\) для каждой пары \((x_1, x_2)\), но не обязательно верные.

Пояснения к примерам

Первый и второй наборы входных данных для теста из условия

В первом наборе входных данных будут использоваться роботы на участках \((2, 3, 2)\), \((2, 4, 3)\), \((3, 4, 4)\). Таким образом, пары \((2, 3)\), \((2, 4)\), \((3, 4)\) обслуживаются в каком-нибудь ряду, причем каждая из них обслуживается ровно в одном ряду.

Во втором наборе входных данных будут использоваться роботы на участках \((2, 2, 1)\), \((2, 4, 2)\), \((2, 2, 3)\). Таким образом, пары \((2, 2)\), \((2, 4)\) обслуживаются в каком-нибудь ряду. Пара \((2, 2)\) обслуживается в рядах \(1, 3\), пара \((2, 4)\) обслуживается ряду \(2\).

Третий и четвертый наборы входных данных для теста из условия

Поделиться
Класснуть