Задача 1. Лестница

Автор:Иван Кобец   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Бизнесмен-строитель Влад на днях наконец-то закончил строительство своего многоэтажного коттеджа. Остался последний шаг: лестница к входным дверям. Он выяснил, что лестница должна быть высотой h метров. Чтобы безопасно подниматься по ней, ступеньки должны быть 1 × 1 метров. Ступеньки должны быть протянуты до фундаметна дома.

Он закупил h·(h + 1)2 ступенек и теперь готов строить лестницу. Для того, чтобы скрепить две ступеньки, необходимо сторону одной из них намазать клеем. Лестницу надо также скрепить с землей и основанием дома. Влад хоть и бизнесмен, но деньги он не разбрасывает налево и направо, поэтому решил сэкономить на клее. Он просит Вас написать программу, которая посчитает минимальное количество сторон, которое необходимо намазать клеем, чтобы сделать лестницу.

Формат входных данных

В первой строке записано целое число h - высота лестницы.

Формат выходных данных

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

Ограничения

1 ≤ h ≤ 109

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

В первом примере лестница будет выглядеть следующим образом:

Белые прослойки между сторонами ступенек - слои клея. Таких прослоек 30.

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

Стандартный вход Стандартный выход
1
5
30
2
1
2
3
3
12

Задача 2. Кодовый замок

Автор:Иван Кобец   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

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

В один из дней отдыха во время того, как Влад был на море, на работе случилась беда, и Владу срочно пришлось вернуться в гостиницу. Но главная проблема ждала его в номере: ему был нужен ноутбук, но он не помнил пароль, который он выбрал. Он лишь помнил то, что выбранное им число кратно a, b и c. По этим данным, определите, какое минимальное количество вариантов пароля от сейфа придется перебрать Владу, чтобы он точно нашел верный.

Формат входных данных

На вход подаются целые числа n, a, b и c.

Формат выходных данных

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

Ограничения

1 ≤ n ≤ 109

1 ≤ a, b, c ≤ 100

Система оценки и описание подзадач

Баллы за каждый тест начисляются независимо.

Решения, верно работающие при n ≤ 105 получат не более 60 баллов.

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

В примере Владу, чтобы гарантированно найти пароль, необходимо перебрать следующие варианты: 28, 56 и 84.

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

Стандартный вход Стандартный выход
1
100 2 4 7
3

Задача 3. Змейка первокурсника

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

Условие

Первокурсник Варфоломей решил написать всем известную игру змейку в качестве домашней работы, усовершенствовав её на свой вкус.

По правилам Варфоломея змейка, поедая яблоки, не растет и за границы поля не выходит. Для передвижения змеи по клеткам он также придумал свои правила, по которым каждый ход задается символами: W  — наверх, A  — влево, S  — вниз, D  — вправо. Каждый раз, когда змейка съедает яблоко, выводятся координаты съеденного яблока. Также все яблоки сразу находятся на поле в заранее известных координатах.

Трудился студент день и ночь, написал генерацию красивой карты размером 40 на 40 клеток, аппетитных яблок и идеальной змеи, размером в 1 клетку. Но не успел Варфоломей закончить свою домашнюю работу  — коллоквиум по матанализу подошел слишком близко.

Помогите ему доделать игру, написав программу, которая по N шагам змеи определит координаты всех съеденных яблок на её пути.

Отправка решения и тестирование

Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.

В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").

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

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

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

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

Первая строка выходного файла должна содержать количество съеденных яблок  — K. Последующие K строк должны содержать в себе координаты яблок в порядке их поедания. Каждая пара координат, разделенная пробелами, должна быть на новой строке.

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

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

Задача 4. Максимальная продуктивность

Автор:Иван Кобец   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

В IT-компании Байториум каждый день трудятся десятки сотрудников. Каждый выполняет свои задачи максимально эффективно, тем самым поднимая свою компанию в рейтингах все выше и выше.

Директора компании решили провести пиар-компанию. Они решили показать обществу, насколько продуктивно работают их сотрудники. Они разделили один из рабочих дней на n частей и рассчитали, что в i-й части дня продуктивность работников составляла ai у.е. В качестве значения для рекламы они решили выбрать отрезок длиной k с наибольшей суммарной продуктивностью. Но, увы, им оказалось тяжело определить данный отрезок, поэтому они просят Вас написать программу, которая поможет определить данный отрезок и выведет с какой по какую часть дня была наибольшая суммарная продуктивность.

Формат входных данных

В первой строке записано два целых числа n и k - количество частей в рабочем дне и длина отрезка дня соответственно.

Во второй строке записано n целых чисел ai - продуктивности работников.

Формат выходных данных

В первой строке выведите отрезок дня, в который была достигнута максимальная продуктивность. Во второй строке выведите максимальную продуктивность. Если существует несколько отрезков, выведите самый ранний.

Ограничения

1 ≤ k ≤ n ≤ 105

1 ≤ ai ≤ 104

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

Стандартный вход Стандартный выход
1
8 3
1 7 12 16 13 19 6 4 
4 6
48

Задача 5. Работа в парах

Автор:Иван Кобец   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  
Максимальный балл:100  

Условие

Учитель по информатике Виктор считается лучшим в крае из-за своих подходов к обучению. Один из его подходов преподавания - работа детей в парах после пройденной темы.

В классе Виктора учится n детей. Сегодня он на уроке с ними прошел новую тему: графы, теперь настало время практики. Он решил сформировать пары учеников, которые будут работать вместе. Формирует пары он по следующему принципу: в каждой паре учеников знания должны различаться не более, чем на k единиц. Делает он это для того, чтобы ученики работали максимально продуктивно. Эту величину k он вычислил экспериментальным путем. Если для какого-то ученика не получается сформировать пару, то наиболее продуктивно он будет работать один. Для каждого ученика он определил уровень знаний: ученик с номером i имеет уровень знаний, равный ai. Он решил выбрать q учеников и узнать, какое количество учеников подойдут к ним в пару. Он просит Вас написать программу, которая для каждого выбранного ученика будет определять количество учеников, с которым он сможет организовать пару.

Формат входных данных

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

Во второй строке через пробел записано n целых чисел ai - уровни знаний учеников.

В третьей строке записано целое число q - количество выбранных учеников.

В четвертой строке записано q целых чисел bj - номера выбранных учеников.

Формат выходных данных

Программа должна вывести q целых чисел - количество учеников, с которыми Виктор может организовать пару для ученика bj.

Ограничения

1 ≤ n ≤ 105

1 ≤ k, ai ≤ 109

1 ≤ q, bi ≤ n

Система оценки и описание подзадач

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

Подзадача Баллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
n
1351 ≤ n ≤ 100полная
2651 ≤ n ≤ 1051полная

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

Стандартный вход Стандартный выход
1
5 2
6 9 7 3 8
3
3 4 2
3 0 2

0.474s 0.011s 25