Задача A. Обезьянки

Входной файл:in   Ограничение времени:1 сек
Выходной файл:out   Ограничение памяти:256 Мб

Условие

На днях в Елизовский зоопарк прибыли новые жильцы – N обезьянок. Администрации зоопарка предстоит решить, как лучше всего распределить N обезьянок по имеющимся в зоопарке K свободным вольерам таким образом, чтобы ни один вольер не остался пустым. Главным критерием при размещении является комфортное обитание обезьян, поэтому администрацию в первую очередь интересует, сколько обезьянок окажется в самом заполненном вольере (то есть в вольере с максимальным числом обезьянок).

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

Формат входного файла

В единственной строке содержатся два натуральных числа, разделенных пробелом: N – количество обезьянок и K – количество свободных вольеров (1 ≤ K ≤ N ≤ 109).

Формат выходного файла

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

Примеры тестов

Входной файл (in) Выходной файл (out)
1
7 4
2 4
2
12 3
4 10

Задача B. Яблоки поровну

Автор:А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

В школьной столовой на завтрак раздавали яблоки. Каждому школьнику должно было достаться по одному яблоку, но трём из них удалось незаметно набрать в карманы a1, a2 и a3 яблок соответственно.

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

Например, если у первого школьника 2 яблока, у второго — 3, а у третьего — 4, то третий школьник может передать первому одно яблоко, и тогда у каждого из них будет по 3 яблока.

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

Формат входного файла

Входной файл содержит целые числа a1 a2 a3.

Формат выходного файла

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

Если у школьников уже одинаковое количество яблок, выведите единственное число 0.

Если решения не существует, выведите единственное число  − 1.

Ограничения

1 ≤ ai ≤ 1000; 1 ≤ x, y ≤ 3

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3 3 3
0
2
1 3 5
3 1 2
3
1 3 6
-1

Задача C. Двухцветная полоса

Автор:А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Дана полоса, состоящая из N разноцветных клеток. Требуется написать программу, которая найдёт самый длинный отрезок этой полосы, состоящий из клеток не более двух разных цветов.

Формат входного файла

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

Формат выходного файла

Выходной файл должен содержать два числа P L, где P — номер первого символа искомого отрезка, L — его длина. Нумерация клеток начинается с 1.

Если существует несколько оптимальных решений, выведите решение с минимальным значением P.

Ограничения

1 ≤ N ≤ 106

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
xxxxx
1 5
2
abbaaccca
4 6

Задача D. Марфа Геннадьевна в кустах

Автор:Т. Пакичев, М. Спорышев, А. Кленин   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Марфа Геннадьевна считает, что её соседка по даче, Элеонора Агафьевна, слишком любопытна и постоянно подглядывает за Марфой Геннадьевной из окна. Граница участков Марфы Геннадьевны и Элеоноры Агафьевны представляет собой отрезок длиной L см.

Марфа Геннадьевна решила загородить соседке обзор, засадив границу кустами. У Марфы Геннадьевны имеются семена N видов кустов. Известно, что кусты i-го вида вырастают до ширины в ai см. При этом для нормального развития кустам i-го вида необходимо, чтобы расстояние между краями соседних кустов, а также от края куста до края границы участков было не менее bi см.

Марфа Геннадьевна желает выбрать один вид кустов таким образом, чтобы суммарная ширина незакрытых кустами участков границы была наименьшей. Напишите программу, которая поможет ей это сделать.

Рекомендуется рассмотреть следующие частичные решения

Формат входного файла

Входной файл содержит целые числа N L, за которыми следует N пар целых чисел ai bi — ширина куста и минимальное расстояние для i-го вида.

Формат выходного файла

Выходной файл должен содержать единственное целое число — минимальную суммарную ширину не закрытых кустами участков границы.

Ограничения

1 ≤ N ≤ 103

2 ≤ L ≤ 104

1 ≤ ai, bi ≤ 104.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2 5
3 1
2 1
2
2
2 7
3 2
2 3
4
3
1 10
5 3
10

Задача E. Султан и мудрецы

Автор:Н. Малявин, М. Спорышев   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Однажды султан решил проверить знание математики у своих мудрецов.

Для этого он собрал N мудрецов, и потребовал от них назвать N различных натуральных чисел, дающих в сумме указанное число D.

Мудрецы начал выступать по очереди, i-й мудрец называл число ai. И вот очередь дошла до N − 1-го мудреца — Васи.

От числа, которое назовет Вася, зависит судьба всех мудрецов. Помогите мудрецу Васе найти такое ещё не названное число aN − 1, чтобы последний мудрец имел возможность назвать число aN, отличающееся от всех предыдущих чисел и дополняющее их сумму до D.

Рекомендуется рассмотреть следующие частичные решения

Формат входного файла

Входной файл содержит натуральные числа D N, за которыми следует N − 2 натуральных числа ai — числа, названные мудрецами до Васи.

Формат выходного файла

Выходной файл должен содержать подходящее для Васи число, либо  − 1, если такого числа не существует.

Если решений несколько, выведите любое из них.

Ограничения

3 ≤ N ≤ 105

1 ≤ D, ai ≤ 109, ai ≠ aj∀ i ≠ j

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
18 4
2 6
1
2
26 5
2 5 9
4
3
13 4
2 5
-1

Задача F. Газон Ивана

Автор:Рекомендации   Ограничение времени:2 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  

Условие

Фермер Иван с юности следит за своим газоном. Газон можно считать плоскостью, на которой в каждой точке с целыми координатами растет один пучок травы.

В одно из воскресений Иван воспользовался газонокосилкой и постриг некоторый прямоугольный участок газона. Стороны этого участка параллельны осям координат, а две противоположные вершины расположены в точках (x1, y1) и (x2, y2). Следует отметить, что пучки травы, находящиеся на границе этого прямоугольника, также были пострижены.

Довольный результатом Иван купил и установил на газоне дождевальную установку. Она была размещена в точке с координатами (x3, y3) и имела радиус действия струи r. Таким образом, установка начала поливать все пучки, расстояние от которых до точки (x3, y3) не превышало r.

Все было хорошо, но Ивана заинтересовал следующий вопрос: сколько пучков травы оказалось и пострижено, и полито в это воскресенье?

Требуется написать программу, которая позволит дать ответ на вопрос Ивана.

Формат входного файла

В первой строке входного файла содержатся четыре целых числа x1 y1 x2 y2. Во второй строке входного файла содержатся три целых числа x3 y3 r.

Формат выходного файла

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

Ограничения

 − 105 ≤ x1, y1, x2, y2, x3, y3 ≤ 105

1 ≤ r ≤ 105

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
0 0 5 4
4 0 3
14

Задача G. Треугольник Максима

Автор:Центральная предметно-методическая комиссия по информатике   Ограничение времени:2 сек
Входной файл:triangle.in   Ограничение памяти:256 Мб
Выходной файл:triangle.out  

Условие

С детства Максим был неплохим музыкантом и мастером на все руки. Недавно он самостоятельно сделал несложный перкуссионный музыкальный инструмент — треугольник. Ему нужно узнать, какова частота звука, издаваемого его инструментом.

У Максима есть профессиональный музыкальный тюнер, с помощью которого можно проигрывать ноту с заданной частотой. Максим действует следующим образом: он включает на тюнере ноты с разными частотами и для каждой ноты на слух определяет, ближе или дальше она к издаваемому треугольником звуку, чем предыдущая нота. Поскольку слух у Максима абсолютный, он определяет это всегда абсолютно верно.

Вам Максим показал запись, в которой приведена последовательность частот, выставляемых им на тюнере, и про каждую ноту, начиная со второй, записано — ближе или дальше она к звуку треугольника, чем предыдущая нота. Заранее известно, что частота звучания треугольника Максима составляет не менее 30 герц и не более 4000 герц.

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

Система оценивания

Решения, правильно работающие только для целых чисел fi, имеющих одинаковую четность, будут оцениваться из 40 баллов.

Формат входного файла

Первая строка входного файла содержит целое число n — количество нот, которые воспроизводил Максим с помощью тюнера. Последующие n строк содержат записи Максима, причем каждая строка содержит две компоненты: вещественное число fi — частоту, выставленную на тюнере, в герцах, и слово closer или слово further для каждой частоты, кроме первой.

Слово closer означает, что частота данной ноты ближе к частоте звучания треугольника, чем частота предыдущей ноты, что формально описывается соотношением: |fi − fтреуг.| < |fi − 1 − fтреуг.|.

Слово further означает, что частота данной ноты дальше, чем предыдущая.

Если оказалось, что очередная нота так же близка к звуку треугольника, как и предыдущая нота, то Максим мог записать любое из двух указанных выше слов.

Гарантируется, что результаты, полученные Максимом, непротиворечивы.

Формат выходного файла

В выходной файл необходимо вывести через пробел два вещественных числа с точностью не менее 10 − 8 — наименьшее и наибольшее возможное значение частоты звучания треугольника, изготовленного Максимом.

Ограничения

2 ≤ n ≤ 1000, 30 ≤ fi ≤ 4000

Примеры тестов

Входной файл (triangle.in) Выходной файл (triangle.out)
1
3
440
220 closer
300 further
30.0 260.0
2
4
554
880 further
440 closer
622 closer
	
531.0 660.0

Задача H. НОД и числа Фибоначчи (исправленная)

Входной файл:input.txt   Ограничение времени:1 сек
Выходной файл:output.txt   Ограничение памяти:64 Мб

Условие

k-тым числом Фибоначчи называется k-тый член последовательности Fk = Fk − 1 + Fk − 2 , F0 = 0 , F1 = 1

Формат входного файла

Во входном файле находятся два числа n и k

Формат выходного файла

В выходном файле должно содержаться единственное число — наибольший общий делитель Fn и Fk.

Ограничения

1 ≤ n, k ≤ 200

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
1 2
1
2
6 9
2

Задача I. Дипломы

Автор:Центральная предметно-методическая комиссия по информатике   Ограничение времени:2 сек
Входной файл:diploma.in   Ограничение памяти:64 Мб
Выходной файл:diploma.out  

Условие

Когда Петя учился в школе, он часто участвовал в олимпиадах по информатике, математике и физике. Так как он был достаточно способным мальчиком и усердно учился, то на многих из этих олимпиад он получал дипломы. К окончанию школы у него накопилось N дипломов, причем, как оказалось, все они имели одинаковые размеры: W — в ширину и H — в высоту.

Сейчас Петя учится в одном из лучших российских университетов и живет в общежитии со своими одногруппниками. Он решил украсить свою комнату, повесив на одну из стен свои дипломы за школьные олимпиады. Так как к бетонной стене прикрепить дипломы достаточно трудно, то он решил купить специальную доску из пробкового дерева, чтобы прикрепить ее к стене, а к ней — дипломы. Для того чтобы эта конструкция выглядела более красиво, Петя хочет, чтобы доска была квадратной и занимала как можно меньше места на стене. Каждый диплом должен быть размещен строго в прямоугольнике размером W на H. Прямоугольники, соответствующие различным дипломам, не должны иметь общих внутренних точек.

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

Система оценивания

Решения, правильно работающие только при W, H, N ≤ 1000, будут оцениваться в 40 баллов.

Формат входного файла

Входной файл содержит три целых числа: W, H, N

Формат выходного файла

В выходной файл необходимо вывести ответ на поставленную задачу.

Ограничения

1 ≤ W, H, N ≤ 109

Примеры тестов

Входной файл (diploma.in) Выходной файл (diploma.out)
1
2 3 10
9

Задача J. Конфеты и самоконтроль

Автор:А. Кленин, А.Жихарева   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  

Условие

Сегодня Петя и Вася купили себе K конфет. Петя предложил просто разделить их поровну и съесть, на что Вася ответил, что так не интересно и вместо этого предложил сыграть в игру.

Каждый по очереди берет конфеты из мешка. Первым ходит Петя, первый раз он всегда берет одну конфету, а каждый следующий раз - на одну больше, чем в предыдущий. Вася же каждый раз берет столько конфет, сколько Петя всего в сумме взял до этого. То есть во время первого хода Петя возьмет 1 конфету, затем во время второго хода Вася возьмет 1 конфету, потом Петя возьмет 2 конфеты, Вася возьмет 1 + 2 = 3 конфеты и т. д.

Поскольку ребята хотели поиграть в эту игру подольше, они придумали дополнительное правило — на каждом шаге нельзя брать из мешка больше чем M конфет. И теперь они хотят выбрать такое максимальное M, что конфет при этом хватит на S ходов игры. Помогите им это сделать.

Формат входного файла

Первая строка входного файла содержит целые числа K и S — количество конфет и количество ходов соответственно.

Формат выходного файла

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

Ограничения

1 ≤ S ≤ K ≤ 109, M ≤ K

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
6 4
2
2
14 6
4

0.709s 0.014s 35