Задача A. Светофоры

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

Условие

По территории компьютерного лагеря проложен маршрут для поездок на электрокарах. Поскольку на электрокаре можно добраться до ИКТ-центра, то школьник Пахом решил воспользоваться им. Следуя по маршруту, электрокар проехал с постоянной скоростью один за другим два светофора с зеленым светом. Пахому известно, что оба светофора находятся на расстоянии x метров друг от друга и переключаются абсолютно синхронно: зеленый свет горит a минут, потом включается красный свет и горит в течение b минут, после чего светофор переключается опять на зеленый свет и он горит также в течение a минут, и так далее. Переключений на желтый свет у светофоров нет. Скорость движения электрокара по маршруту не превышает 1000 м/мин. Электрокар может проехать на светофоре в тот момент, когда светофор горит зелёным светом или переключается с одного света на другой.

Приехав в ИКТ-центр, Пахом заинтересовался, с какой максимальной постоянной скоростью он мог ехать на электрокаре между двумя светофорами.

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

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

Правильные решения для тестов, в которых ответ является целочисленным, будут оцениваться из 50 баллов.

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

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

Первая строка входного файла содержит три целых числа: a, b и x.

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

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

Ограничения

1 ≤ a ≤ 100, 1 ≤ b ≤ 100, 1 ≤ x ≤ 100 000;

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

Входной файл (lights.in) Выходной файл (lights.out)
1
3 5 4000
800
2
5 10 21010
840.4

Задача B. Кондиционеры

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

Условие

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

Все классы школы пронумерованы последовательно от 1 до n. Известно, что для каждого класса с номером i, требуется ровно один кондиционер, мощность которого больше или равна ai ватт.

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

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

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

Во втором примере оптимально будет установить в первом и втором классах кондиционеры четвертого типа, а в третьем классе — кондиционер третьего типа. Суммарная стоимость этих кондиционеров будет составлять 13 рублей (3 + 3 + 7).

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

Частичные решения для n, m ≤ 1000 будут оцениваться из 50 баллов.

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

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

Вторая строка содержит n целых чисел ai — минимальная мощность кондиционера в ваттах, который можно установить в классе с номером i.

Третья строка содержит одно целое число m — количество предложенных моделей кондиционеров.

Далее, в каждой из m строк содержится пара целых чисел bj и cj — мощность в ваттах j-й модели кондиционера и его цена в рублях соответственно.

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

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

Ограничения

1 ≤ n ≤ 50 000;

1 ≤ ai ≤ 1000;

1 ≤ m ≤ 50 000

1 ≤ bj ≤ 1000, 1 ≤ cj ≤ 1000;

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

Входной файл (cond.in) Выходной файл (cond.out)
1
1
800
1
800 1000
1000
2
3
1 2 3
4
1 10
1 5
10 7
2 3
13

Задача C. Имена

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

Условие

На далекой планете Тау Кита есть непонятные нам обычаи. Например, таукитяне очень необычно для землян выбирают имена своим детям. Родители так выбирают имя ребенку, чтобы оно могло быть получено как удалением некоторого набора букв из имени отца, так и удалением некоторого набора букв из имени матери. Например, если отца зовут "abacaba", а мать — "bbccaa", то их ребенок может носить имена "a", "bba", "bcaa", но не может носить имена "aaa", "ab" или "bbc". Возможно, что имя ребенка совпадает с именем отца и/или матери, если оно может быть получено из имени другого родителя удалением нескольких (возможно, ни одной) букв.

Пусть отец по имени X и мать по имени Y выбирают имя своему новорожденному ребенку. Так как в таукитянских школах учеников часто вызывают к доске в лексикографическом порядке имен учеников, то есть в порядке следования имен в словаре, то они хотят выбрать своему ребенку такое имя, чтобы оно лексикографически следовало как можно позже.

Формально, строка S лексикографически больше строки T, если выполняется одно из двух условий:

Требуется написать программу, которая по именам отца и матери находит лексикографически наибольшее имя для их ребенка.

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

В первом примере имя ребенка не может начинаться с буквы большей 'с', так как имя отца не содержит таких букв. Буква 'с' содержится в обоих именах, следовательно, имя ребенка может начинаться с этой буквы. Единственная буква, которая может идти следом за буквой 'с' в имени ребенка — это буква 'a'.

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

Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 1000, будут оцениваться из 20 баллов.

Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 105, будут оцениваться из 40 баллов.

Правильные решения для тестов, в которых имена имеют длину не более 1000, будут оцениваться из 40 баллов.

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

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

Первая строка входного файла содержит имя отца X. Вторая строка входного файла содержит имя матери Y.

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

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

Ограничения

Каждое имя состоит из строчных букв латинского алфавита, включает хотя бы одну букву и имеет длину не более 105 букв.

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

Входной файл (name.in) Выходной файл (name.out)
1
abcabca
abcda
ca
2
ccba
accbbaa
ccba

Задача D. Конфеты

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

Условие

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

Каждая коробка конфет имеет размеры a × b × c сантиметров, где a —– длина, b —– ширина и c —– высота коробки. Для перевозки конфет Петя хочет использовать один большой ящик в форме прямоугольного параллелепипеда. В ящик должны быть уложены все коробки конфет. Для того чтобы не повредить их, все коробки в ящике должны сохранять исходную ориентацию и располагаться в одном направлении. Петя может использовать ящик любого размера, но по правилам железнодорожных перевозок размер ящика по сумме трех измерений не может превышать N сантиметров.

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

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

В первом примере выгоднее всего взять ящик размером 3 × 4 × 3 сантиметров, в который поместится три коробки конфет в длину, две коробки конфет в ширину и одна коробка конфет в высоту.

Во втором примере для того, чтобы разместить хотя бы две коробки конфет, нужен ящик размером хотя бы 8 × 3 × 4, у которого сумма измерений равна 15. В подходящий ящик поместится максимум одна коробка конфет. Подходящим также является ящик размером 9 × 3 × 2, хотя он и не является минимальным.

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

Частичные правильные решения для тестов, в которых N ≤ 1000, будут оцениваться из 30 баллов.

Частичные правильные решения для тестов, в которых N ≤ 105, будут оцениваться из 60 баллов.

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

Первая строка входного файла содержит разделенные пробелами четыре целых числа: N, a, b, с.

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

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

Ограничения

1 ≤ N, a, b, c ≤ 109

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

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

0.202s 0.011s 17