Информатика

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

Формат входных данных
Программа получает на вход два целых числа N и K (N > 0, 0 ≤ KN), записанные в отдельных строках, — текущее число членов совета и число родителей в совете.

Формат выходных данных
Программа должна вывести единственное число — минимальное число родителей, которое необходимо ввести в совет.

Пояснение к примеру
В примере совет состоит из 27 человек, из которых родители составляют 7 человек. Если в совет ввести ещё 3 родителей, то в совете станет 30 человек, из которых родителей будет 10.

Дано число N (N >= 2). Выведите таблицу Пифагора для всех целых чисел в диапазоне от 2 до N. В i-й строке j-м столбце таблицы Пифагора должно находиться произведение (i+1)⋅(j+1).

Входные данные
В первой строке ввода содержатся число N (2 <= N <= 100).

Выходные данные
В каждой строке выводятся элементы таблицы Пифагора, разделённые пробелом.
 
Примеры
Входные данные Выходные данные
1 4 4 6 8
6 9 12
8 12 16
Дана последовательность целых ненулевых чисел, оканчивающаяся нулем (ноль в последовательность не входит). Необходимо найти расстояние (по модулю) между первым минимальным и первым максимальным числом последовательности. 

Входные данные 
На вход подаются целые числа (по одному числу в строке).

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

 

Примеры
Входные данные Выходные данные
1 -1
-2
1
7
2
0
2

Дано число n. Найдите число из диапазона от 1 до n с максимальной суммой своих делителей (включая непростые делители, 1 и само число). Если таких чисел несколько, выведите минимальное из них.

Входные данные: На вход программе подается натуральное n<=2500.
Выходные данные: Выведите искомое число.

Примеры
Входные данные Выходные данные
1 5 4
2 12 12

В магазине продается мастика в ящиках по a кг (тип 1), b кг (тип 2) и c кг (тип 3). Как купить ровно N кг мастики, не вскрывая ящики? Сколькими способами можно это сделать?
 

Входные данные 
Входная строка содержит четыре числа, разделённые пробелами: a , b , c и N .

Выходные данные 
В первой строке нужно вывести число K способов, которыми можно купить заданное количество мастики (N кг), не вскрывая ящики. В каждой из последующих K строчек программа должна вывести (через пробелы) три числа, ka , kb и kc : количество ящиков 1, 2 и 3 типов для каждого из K вариантов закупки. Варианты должны выводиться в лексикографическом порядке: сначала варианты с наименьшим значением ka , для одинаковых ka – сначала варианты с наименьшим значением kb и т.д.

 

Примеры
Входные данные Выходные данные
1 15 17 21 185 5
0 1 8
1 10 0
3 7 1
5 4 2
7 1 3
Дан массив чисел. Необходимо записать в другой массив, все числа Фибоначчи исходного массива. Если в исходном массиве нет чисел Фибоначчи, программа должна вывести число 0.

Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел – элементы массива (целые неотрицательные числа, не превышающие 1000). Гарантируется, что 0 < N ≤ 10000.

Выходные данные
Программа должна вывести в одну строчку все элементы построенного массива, разделив их пробелами. Если ни одного подходящего элемента в массиве не было, программа должна вывести число 0.
 
Примеры
Входные данные Выходные данные
1 6
4 14 5 8 12 13
5 8 13
Дан массив чисел. Необходимо записать в другой массив все простые числа исходного массива. Если в исходном массиве нет простых чисел, программа должна вывести число 0.

Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N натуральных чисел – элементы массива (все числа не превышают 1000). Гарантируется, что 0 < N ≤ 10000.

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

Входные данные
Первая строка содержит размер массива N. Во второй строке через пробел задаются N чисел – элементы массива. Гарантируется, что 3 < N ≤ 10000.

Выходные данные
Выведите элемент, из которого состоит искомая цепочка и длину этой цепочки.
 
Примеры
Входные данные Выходные данные
1 7
1 2 2 1 1 1 3
1 3
Дан упорядоченный по неубыванию список чисел. Определите, сколько в нем различных элементов.

Входные данные
Вводится список чисел. Все числа списка находятся на одной строке. Количество чисел не больше 1000. Каждое число по модулю меньше 2*109.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 1 2 2 3 3 3 3
 
Примечание
Для считывания данных на языке С++ используйте цикл
while(cin >> a)
{
  // работа с числом a
}
Считать данные на языке Python можно сразу в массив
A = list(map(int, input().split()))
Петя перешёл в другую школу. На уроке физкультуры дети строятся по росту, начиная с самого высокого. Напишите программу, которая поможет Пете определить свое место в строю.

Входные данные
Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого учащегося в строю. После этого вводится число x – рост Пети. Все числа во входных данных натуральные и не превышают 200. Количество чисел в последовательности не превышает 200.

Выходные данные
Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них.
 
Примеры
Входные данные Выходные данные
1 165 163 160 160 157 157 155 154 
162
3
2 165 163 160 160 157 157 155 154 
160
5
 
Примечание
Для считывания данных на языке С++ используйте цикл
while(cin >> a)
{
  // работа с числом a
}
Обратите внимание, на языке С++ такой способ считывания считает сразу все данные из входного потока, включая последнюю строку.

Считать данные на языке Python можно сразу в массив
A = list(map(int, input().split()))
Реализуйте структуру данных для эффективного вычисления максимумов подряд идущих элементов массива.

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

Выходные данные
Для каждого запроса выведите значение максимального элемента на указанном отрезке массива. Числа выводите в одну строку через пробел.

 

Примеры
Входные данные Выходные данные
1 5
2 2 2 1 5
2
2 3
2 5
2 5
Дано N целых чисел. Найти третий по величине максимальный элемент последовательности (элемент, который бы стоял третьим, если бы входные данные отсортировали по неубыванию).

Входные данные
В первой строке задается число N (\(3<=N<=10^5\)). Далее идут N строк, по одному числу в каждой строке.

Выходные данные
Выведите третий максимальный элемент.
 

 

Примеры
Входные данные Выходные данные
1 7
10
15
35
35
14
35
10
35
2 5
10
5
7
11
9
9
 
 
В 1995 году Роулинг закончила свою рукопись романа «Гарри Поттер и философский камень», которую печатала на старой пишущей машинке. После восторженного отзыва Брайони Ивенса, читателя, которому было предложено оценить первые три главы книги, фулхэмская фирма литературных агентов Christopher Little Literary Agents согласилась представлять Роулинг во время поисков издателя. Книга была отправлена в двенадцать издательств, но все они отвергли рукопись. Год спустя она, наконец, получила зелёный свет (и 1500 фунтов аванса) от редактора Барри Каннингема из лондонского издательства Bloomsbury.
Дж. Роулинг во время поисков издателей получила N предложений напечатать роман. Помогите ей оценить, сколько всего издательств предложило ей максимальный гонорар.

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

Выходные данные
Выведите одно  число - количество издательств с максимальным размером гонорара.
 

 

Примеры
Входные данные Выходные данные
1 4
1547
1600
1325
1600
2
Джоан Роулинг - автор знаменитых историй про юного волшебника Гарри Поттера. Перед тем, как написать Гарри Поттера, Джоан изучала различные рукописи, описания и источники о Хрониках Нарнии. Позже она также начала изучать мир Средиземья Джона Толкиена. Так продолжалось ее обучение вплоть до начала рабочей практики.
Нет точных данных сколько книг прочитала Джоан, но, наверняка они у нее все сохранились.
Помогите знаменитой писательнице посчитать общее количество прочитанных страниц из всех книг.

Задача должна быть решена без использования массивов!

Входные данные
В первой строке вводится число N - количество книг (\(0 < N <=100\)). Далее идут N чисел, по одному числу в строке, - количество страниц в соответствующей книге (натуральные числа, меньшие 1000 каждое).

Выходные данные
Выведите одно число - общее количество страниц во всех книгах.
 

 

Примеры
Входные данные Выходные данные
1 3
125
215
300
640

Числа Фибоначчи, обозначаемые обычно F(n) образуют последовательность, называемую последовательностью Фибоначчи, такую, что каждое число является суммой двух предыдущих, начиная с 0 и 1. То есть,

F(0) = 0, F(1) = 1
F(n) = F(n - 1) + F(n - 2), для n > 1.

По заданному n, вычислите F(n) (0 <= n <= 80).
 

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

Дано натуральное число n. Выведите в порядке возрастания все трехзначные числа, сумма цифр которых равна n.

Входные данные: Вводится натуральное число n.
Выходные данные: Выведите ответ на задачу.

Примеры
Входные данные Выходные данные
1 3 102
111
120
201
210
300
На складе в коробки упаковывают волейбольные мячи. Сначала мячи пакуются в сетки ровно по  N штук в каждую, а потом сетки - в коробки, причем в одну коробку помещается не более L сеток. Последняя коробка может быть неполная. Всего имеется М мячей.  Сколько всего понадобится коробок, сколько сеток будет в последней коробке и сколько мячей останется на складе не упаковано  (упаковать нужно как можно больше мячей)? Написать программу: вводятся три числа целых M, L, N в одной строке; вывести три числа в одной строке - сначала количество потребовавшихся коробок, затем количество сеток в последней коробке, а затем количество не упакованных мячей

 

Примеры
Входные данные Выходные данные
1 40 4 3 4 1 1
Упаковывают школьные тетради. Сначала тетради складывают в стопки ровно по  N штук в каждую, а потом стопки перевязывают  и складывают в коробки, причем в одну коробку помещается не более L стопок. Последняя коробка может быть неполная. Всего имеется М тетрадей.  Сколько всего понадобится коробок, сколько стопок будет в последней коробке и сколько тетрадей останется не упаковано (упаковать нужно как можно больше тетрадей)? Написать программу: вводятся три целых числа M, L, N в одной строке; вывести три числа в одной строке - сначала количество потребовавшихся коробок, затем количество стопок в последней коробке, а затем количество оставшихся тетрадей

 

Примеры
Входные данные Выходные данные
1 20 3 6 1 3 2
На складе в контейнеры упаковывают пакеты с мукой. Сначала мука пакуется в пакеты ровно по  L кг в каждый, а потом пакеты - в контейнеры, причем в один контейнер помещается не более K пакетов. Последний контейнер может быть неполным. Всего имеется М кг муки.  Сколько всего понадобится контейнеров, сколько пакетов будет в последнем контейнере и сколько кг муки останется на складе не упаковано (упаковать нужно как можно больше муки)? Написать программу: вводятся три целых числа M, K, L в одной строке; вывести три числа в одной строке - сначала количество потребовавшихся контейнеров, затем количество пакетов в последнем контейнере, а затем количество оставшейся муки (кг) 

 

Примеры
Входные данные Выходные данные
1 25 9 4 1 6 1
В актовом зале нужно расставить стулья. Всего N стульев. В один ряд становятся не более L стульев. Какое минимальное число рядов получится? Написать программу: вводятся два целых числа N и L; вывести одно число - ответ на задачу

Примеры
Входные данные Выходные данные
1 40 10 4
Поделиться
Класснуть