Язык программирования

3 082 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
В кинотеатре места часто расставляют со сдвигом соседних рядов для удобства зрителей. Пусть в таком кинотеатре N мест в 1-м, 3-м, 5-м и всех нечётных рядах и N + 1 место во 2-м, 4-м и всех чётных рядах. Места в рядах нумеруются от 1 до N в нечётных рядах и от 1 до N + 1 в чётных рядах. Касса продаёт билеты подряд: сначала в 1-й ряд на места с 1-го по N-е, потом — во 2-й ряд на места с 1-го по N + 1-е, затем в 3-й ряд с 1-го места и т.д. Определите номер ряда и номер места для K-го проданного билета.

Входные данные
Программа получает на вход два целых числа. В первой строке записано число N (1 <= N <= 109 ) — количество мест в 1-м ряду кинотеатра. Во второй строке записано число K — порядковый номер проданного билета (1 <= K <= 2 × 109 ).

Выходные данные
Программа должна вывести два числа в одной строке через пробел: номер ряда и номер места K-го проданного билета.
 
Примеры
№ Входные данные Выходные данные Пояснение
1 10
25
3 4 Билеты с 1 по 10 будут проданы в первый ряд. Билеты с 11 по 21 будут проданы во второй ряд. В третий ряд будут проданы билеты, начиная с 22-го, 25-й билет окажется на 4-м месте 3-го ряда.
Два друга-биолога Василий и Петр едут в Африку на поезде. Билеты они покупали в разное время и не смогли получить места в одном вагоне. Василий купил билет на место с номером X, а Петр — на место с номером Y .
Все поезда в структуре РЖД комплектуются вагонами с одинаковым числом посадочных мест, равным K. Нумерация мест сквозная: в первом вагоне расположены места с номерами от 1 до K, во втором вагоне — места с номерами от K + 1 до 2K, и так далее. Помогите Василию посчитать,сколько раз он должен перейти из одного вагона в соседний для встречи с Петром.

Входные данные
В первой строке входных данных записано целое число K (1 ≤ K ≤ 109) — число посадочных мест в каждом вагоне.
Во второй строке записано целое число X — номер места Василия.
В третьей строке записано целое число Y (1 ≤ X < Y ≤ 109) — номер места Петра.

Выходные данные
Выведите одно целое число — количество переходов Василия из одного вагона в соседний.
 
Примеры
№ Входные данные Выходные данные
1 3
3
7
2
Персонаж известной компьютерной игры Марио постарел и почти перестал прыгать. Но совсем недавно он увидел спуск из N ступенек, и его накрыло ностальгией. Марио встал на самую верхнюю ступеньку и решил преодолеть этот спуск при помощи прыжков.
Когда-то Марио знал тысячи различных видов прыжков, но теперь он смог вспомнить только два: короткие и длинные. Короткий прыжок позволяет спуститься на произвольное число ступенек, не большее X, а длинный — на произвольное число, не большее Y (X < Y ). Но в силу возраста Марио не может делать два длинных прыжка подряд и вынужден между ними совершать хотя бы один короткий. При этом Марио не хочет слишком уж сильно ухудшить свои прошлые результаты и поэтому постарается обойтись как можно меньшим числом прыжков.
Помогите Марио посчитать минимальное количество прыжков, требующееся для преодоления всех N ступенек.

Входные данные
В первой строке входных данных записано целое число X — максимальная длина короткого прыжка.
Во второй строке записано целое число Y (1 ≤ X < Y ≤ 1018) — максимальная длина длинного прыжка.
В третьей строке записано целое число N (1 ≤ N ≤ 1018) — количество ступенек в спуске.

Выходные данные
В единственной строке выведите целое число — минимальное число прыжков, необходимое Марио для спуска.

Примеры
№ Входные данные Выходные данные
1 2
3
5
2
2 1
2
4
3
3 1
100
1000000000000000000
19801980198019801


Замечание
На изображениях ниже приведены возможные способы решения первых двух тестов из условия:
Коротышки решили взять в полет на Луну либо Незнайку либо Пончика. Не сумев договориться, они решили проголосовать. Незнайка и Пончик наблюдают краткий отчет о голосовании. Коротышки показывают Незнайке и Пончику соотношение текущего количества голосов, полученных Незнайкой и Пончиком, но не фактическое количество голосов. Незнайка и Пончик посмотрели отчет N раз, и когда они смотрели его в i-й (1<=i<=N) раз, соотношение было Pi:Ni. Известно, что Незнайка и Пончик имели хотя бы один голос, когда впервые увидели отчет. Найдите минимально возможное общее количество голосов, полученных Незнайкой и Пончиком, когда они проверили отчет в N-й раз. Можно предположить, что количество голосов, полученных Незнайкой и Пончиком, никогда не уменьшается.

Входные данные
В первой строке задается целое число N (1<=N<=1000). В следующих N строках записано по 2 числа Pi и Ni (1<=Pi,Ni<=1000). Pi и Ni - взаимно простые числа. 

Выходные данные
Выведите минимально возможное общее количество голосов. Гарантируется, что правильный ответ - не более 1018.
 
Примеры
№ Входные данные Выходные данные Пояснение
1 3
2 3
1 1
3 2
10 Количество голосов, полученных Пончиком и Незнайкой, изменяется так 2,3 → 3,3 → 6,4.
Общее количество голосов в конце составляет 10, что является минимально возможным числом.
2 4
1 1
1 1
1 5
1 100
101 Возможно, что ни Пончик ни Незнайка не получили голосов между моментом, когда они смотрели отчет, и моментом, когда они смотрели его в следующий раз.
3 5
3 10
48 17
31 199
231 23
3 2
6930  
Выведите все натуральные делители числа x в порядке возрастания (включая 1 и само число).

Входные данные
Вводится натуральное число x

Выходные данные
Выведите все делители числа x

 
Примеры
№ Входные данные Выходные данные
1 32 1 2 4 8 16 32 
Выведите фамилии и имена учащихся в порядке убывания их среднего балла.

Входные данные
Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.

Общее число учащихся не превосходит 100001.
Выходные данные
Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Если несколько учащихся имеют одинаковые средние баллы, то их нужно выводить в порядке, заданном во входных данных.
 

Примеры
№ Входные данные Выходные данные
1 2
Markov Valeriy 1 1 1
Ivanov Ivan 2 2 2
Ivanov Ivan
Markov Valeriy
2 3
Markov Valeriy 5 5 5
Sergey Petrov 1 1 1
Petrov Petr 3 3 3
Markov Valeriy
Petrov Petr
Sergey Petrov
Определите трех учащихся с наилучшим средним баллом по трем предметам. Выведите фамилии и имена этих учащихся. Если при этом у нескольких учащихся средний балл совпадает со средним баллом учащегося, "занявшего 3-е место", то необходимо вывести их всех.

Входные данные
Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.

Выходные данные
Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Порядок вывода должен быть таким же, как в исходных данных.
 
 
Примеры
№ Входные данные Выходные данные
1 3
Yakovlev Ivan 5 5 5
Yapryntsev Aleksey 5 5 5
Kozlov Georgiy 5 5 5
Yakovlev Ivan
Yapryntsev Aleksey
Kozlov Georgiy
Выведите фамилии и имена учащихся, не имеющих троек (а также двоек и колов).

Входные данные
Заданы сначала количество учащихся n, затем n строк, каждая из которых содержит фамилию, имя и три числа (оценки по трем предметам: математике, физике, информатике). Данные в строке разделены одним пробелом. Оценки принимают значение от 1 до 5.

Выходные данные
Необходимо вывести пары фамилия-имя по одной на строке, разделяя фамилию и имя одним пробелом. Выводить оценки не нужно. Порядок вывода должен быть таким же, как в исходных данных.
 
Примеры
№ Входные данные Выходные данные
1 3
Babat Anna 5 4 3
Belova Galina 4 3 5
Moroz Yaroslav 3 5 4
 
Громозека имеет последовательность целых чисел A длины N. Он сделает три среза в последовательности A и разделит ее на четыре (непустые) смежные подпоследовательности B, C, D и E. Положения срезов он выбирает произвольно. Пусть P, Q, R, S - суммы элементов в B, C, D,  E соответственно. Громозека будет счастлив, когда абсолютная разница между максимумом и минимумом между P, Q, R, S будет минимальной. Найдите минимально возможную абсолютную разницу между максимумом и минимумом между P, Q, R, S.

Входные данные
В первой строке записано целое число N  (1 <= N <= 2·105). Во второй строке записано N целых чисел Ai (1 <= Ai <= 109).

Выходные данные
Выведите на экран минимально возможную абсолютную разницу между максимумом и минимумом между P, Q, R, S.
 
Примеры
№ Входные данные Выходные данные Пояснения
1 5
3 2 4 1 2
2 Если разделить A на B, C, D, E = (3), (2), (4), (1,2), то P = 3, Q = 2, R = 4, S = 1 + 2 = 3.
Здесь максимум и минимум среди P, Q, R, S равны 4 и 2, с абсолютной разницей 2.
Мы не можем сделать абсолютную разницу между максимумом и минимумом меньше 2, поэтому ответ - 2.
2 10
10 71 84 33 6 47 23 25 52 64
36  
3 7
1 2 3 1000000000 4 5 6
999999994  
У вас есть N мешков с конфетами. В каждом мешке некоторое количество конфет. Определите максимальную разность количества конфет двух любых мешков.

Входные данные
В первой строке записано целое число N (1<=N<=100). Во второй строке записаны N чисел ai (1<=ai<=109) - количество конфет в  i-м мешке.

Выходные данные
Выведите максимальную разность количества конфет двух любых мешков.
 
Примеры
№ Входные данные Выходные данные
1 4
1 4 6 3
5
2 5
1 1 1 1 1
0
Мистер Дункан, директор магазина "Игрушечный сундук Дункана", ежегодно под Рождество жертвует детским фондам определенную сумму денег.  Сумма, которая уходит на благотворительность всегда равна минимальному числу, которое делится на 2 и на число игрушек, проданных за год. По заданному числу проданных игрушек за год (N), определите сумму, которую пожертвует мистер Дункан. 

Входные данные
На вход подается положительное целое число N (1<=N<=109).

Выходные данные
Выведите одно число - сумму, которую пожертвует мистер Дункан.
 
Примеры
№ Входные данные Выходные данные
1 3 6
2 10 10
3 999999999 1999999998
Недавно Вася решил всерьез заняться машинным обучением и распознаванием образов. Однако, наука это обширная, а
начинать с чего-то надо, поэтому его учитель информатики посоветовал ему начать с анализа ASCII рисунков.
Он дал Васе рисунок ASCII-графика, который выглядит следующим образом: он представляет собой прямоугольник n × m, состоящий из символов «*» и «.». Левая верхняя клетка прямоугольника считается началом координат — точкой (0, 0), верхняя строка таблицы — осью OX, направленной слева направо, а левый столбец — осью OY, направленной сверху вниз. Таким образом, клетка (x, y) таблицы отвечает за точку (x, y) на графике функции, и если в этой клетке таблицы стоит «*», то f(x) = y, а противном случае в клетке таблицы стоит «.». Гарантируется, что функция, график которой дан Васе, непрерывна и однозначно определена на всем промежутке, то есть:
В каждом столбце таблицы стоит ровно один символ «*»;
В соседних столбцах символы «*» находятся либо в соседних по стороне, либо в соседних по углу клетках.
Для начала, чтобы проанализировать этот график, Вася хочет найти количество локальных максимумов в нем, то есть таких x, что f(x - 1) > f(x) < f(x + 1) (если одно из значений f(x - 1) или f(x + 1) не определено, счиается, что неравенство выполняется).
Входные данные
В первой строке входного находятся два натуральных числа n и m — количество строк и количество столбцов в таблице соответственно (1 ≤ n, m ≤ 100).
В каждой из следующих n строк содержится строка из m символов — описание таблицы. Гарантируется, что таблица представляет собой график функции, описанной в условии.
Выходные данные
В единственной строке выведите одно число — количество локальных минимумов в данном графике функции.
 
Ввод Вывод
4 6
.*....
*.*.*.
...*.*
......
 
2
3 5
....*
****.
.....
1

На сковородку одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет?

Входные данные
Вводятся 3 числа: k, m и n. Все числа не превосходят 32000.

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


Примеры
№ Входные данные Выходные данные
1 1
5
1
10
В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k фишек? (Например, если доска 2х2, то выставлено 4 фишки, а если 6х6 - то 20).

Входные данные
Вводится одно натуральное число k, не превосходящее 30000

Выходные данные
Программа должна вывести слово YES, если существует такой размер доски, на который будет выставлено ровно (не больше, и не меньше) k фишек, в противном случае - вывести слово NO.
Примеры
№ Входные данные Выходные данные
1 20 YES
2 13 NO
У Громозеки есть следующие два личных принципа: он никогда не преодолевает расстояние больше L за один день. Он никогда не спит под открытым небом. То есть он должен находться в отеле в конце дня.
На планете Блук N отелей и все расположены на одной улице. Координата i-го отеля (1<=i<=N) равна xi.
Путешествуя по планете Блук, Громозека запланировал Q переездов. Каждым переездом он планирует менять отель aj на bj (1<=j<=Q). Для каждого переезда найдите минимальное количество дней, которое нужно Громозеке, чтобы добраться от aj-го отеля до bj-го, следуя его принципам.
Гарантируется, что он всегда может поехать из aj-го отеля до bj-го отеля.

Входные данные
В первой строке задается целое число N (2<=N<=105) - количество отелей на планете Блук. Во второй строке - N чисел xi - координаты i-го отеля (1<=x1<x2<...<xN<=109 , xi+1−xi<=L). В третьей строке записано число L (1<=L<=109).  В четвертой строке - число Q (1<=N<=105). 
В последних Q строчках находится по два различных числа aj и bj (1<=aj,bj<=N). Все числа целые.

Выходные данные
Выведите Q строк. В j-й строке (1<=j<=Q) должно быть указано минимальное количество дней, которое Громозеке нужно, чтобы добраться из  aj-го отеля до bj -го отеля.

 

Примеры
№ Входные данные Выходные данные Пояснение
1 9
1 3 6 13 15 18 19 29 31
10
4
1 8
7 3
6 7
8 5
4
2
1
2
По 1-му переезду он может проехать от 1-го отеля до 8-го за 4 дня следующим образом:

День 1: Переезд из 1-го отеля во 2-й отель. Пройденное расстояние - 2.
День 2: Переезд из 2-го отеля в 4-й. Пройденное расстояние - 10.
День 3: Переезд из 4-го отеля в 7-й. Пройденное расстояние - 6.
День 4: Переезд из 7-го отеля в 8-й. Пройденное расстояние - 10.

 

Для целых чисел b ( b >= 2 ) и n ( n >= 1 ) пусть функция f(b, n) определяется следующим образом:
\(f (b, n) = n, когда\ n < b \\ f (b, n) = f (b, floor (n / b)) + (n \ mod \ b), когда \ n >= b\)

Здесь
floor(n / b) обозначает наибольшее целое число, не превышающее n / b;
n mod b обозначает остаток от n, деленный на b.

Менее формально f(b, n) равно сумме цифр n, записанных в базе b. Например, справедливо следующее:
\(f (10,87654) = 8 + 7 + 6 + 5 + 4 = 30\\ f (100,87654) = 8 + 76 + 54 = 138\)

Вам даны целые числа n и s. Определите, существует ли целое число b (b >= 2) такое, что f(b, n) = s. Если ответ положительный, найдите наименьшее из таких b.


Входные данные
В первой строке вводится целое число n (1 <= n <= 1011). Во второй строке - целое число s (1 <= s <= 1011).

Выходные данные
Выведите ответ на задачу. Если ответа нет, то выведите -1.
 

 

Примеры
№ Входные данные Выходные данные
1 87654
30
10
2 87654
138
100
3 87654
45678
-1
4 31415926535
1
31415926535
5 1
31415926535
-1

 

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

Входные данные
Вводится одно число - размер поля.

Выходные данные
Программа должна вывести одно число - минимальное количество слонов, которые можно расставить на данной доске так, чтобы они контролировали все поле.
 
Примеры
№ Входные данные Выходные данные
1 3 3
2 1 1
Пусть S(n) обозначает сумму цифр числа n в десятичной системе счисления. Например, S(123) = 1 + 2 + 3 = 6. Мы будем называть целое число n числом Громозеки, если для всех положительных целых чисел m таких, что m > n, выполняется условие \(\frac {n}{S(n)} <= \frac {m}{S(m)}\). По заданному целому числу K, перечислите K наименьших чисел Громозеки.

Входные данные
На вход подается целое число K (K>=1, K-ое наименьшее число Громозеки не больше 1015).

Выходные данные
Выведите K строк. В i-й строке должен быть указан i-й наименьший номер Громозеки.
 

 

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

 

Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы. Гарантируется, что повторяются буквы только одного вида.

Входные данные
На вход подается 1 строка.

Выходные данные
Необходимо вывести  букву, которая встречается в строке дважды.
 
Примеры
№ Входные данные Выходные данные
1 fif f
Измените регистр символа. Если он был строчной английской буквой сделайте его заглавной буквой; если он был заглавной английской буквой  - строчной.


Входные данные
Задан единственный символ c.

Выходные данные
Необходимо вывести  получившийся символ.
 
Примеры
№ Входные данные Выходные данные
1 a A
2 B b
Поделиться
Класснуть