A. Ближайшие точки ограничение времени на тест: 0.5 сек.

advertisement
A. Ближайшие точки
ограничение времени на тест: 0.5 сек.
Антон учится в школе и недавно начал изучать алгебру. Одно из первых понятий, с которым
он познакомился, — это числовая прямая. Антон уже научился вычислять расстояние между
точками на этой прямой, задавать отрезки и интервалы на ней. Теперь Антон решает такую
задачу: "На числовой прямой задано n точек. Необходимо найти среди них две ближайших".
Расстояние между двумя точками числовой прямой x и y равно |x - y|. Требуется написать
программу, которая решает поставленную задачу.
Входные данные
Первая строка входного файла содержит количество точек n (2 ≤ n ≤ 103). Вторая строка
входного файла содержит n различных целых чисел xi - координаты заданных точек
числовой прямой. Все xi не превосходят 109 по абсолютной величине.
Выходные данные
В первой строке выходного файла выведите минимальное расстояние между двумя точками,
заданными во входном файле. Во второй строке выходного файла выведите номера точек, на
которых достигается найденное расстояние в любом порядке. Точки нумеруются
натуральными числами от 1 до n в порядке, в котором они заданы во входном файле. Если
ответов несколько, выведите любой.
Пример(ы)
input.txt
output.txt
5
10 3 6 2 5
1
2 4
B. Прорыв
ограничение времени на тест: 0.5 сек.
Бригадный генерал Берляндской армии Кругляковский попал в окружение. Вместо помощи
верховное командование, как обычно, требует прорвать кольцо своими силами.
Образовавшийся фронт имеет форму окружности, условно поделенной на N участков.
Кругляковский знает, что на i-м участке у его армии имеется Ai пехотинцев и Bi танков, а у
армии противника (по данным авиаразведки) Ci пехотинцев и Di танков. Ударная сила
отряда из P пехотинцев и T танков оценивается как T * 20 + P. У Кругляковского в запасе
всего одна рота, и он хочет направить ее туда, где преимущество его войск максимально. А
конкретно, он хочет выбрать для прорыва пару таких соседних участков фронта, на которых
бы разность между ударными силами его армии и армии противника на этой паре участков
была максимальной (ударная сила армии на двух участках равна сумме ударных сил отрядов
на этих участках).
Входные данные
В первой строке входного файла записано целое число N (2 ≤ N ≤ 100). Далее в N строках
дано описание участков фронта. В i-й из этих строк записаны целые числа Ai, Bi, Ci и Di из
диапазона [1..1000]. Числа в строках разделяются пробелами.
Выходные данные
В первой строке выходного файла выведите два числа через пробел - номера тех участков,
на которых удобнее осуществить прорыв. Участки нумеруются с 1 в том порядке, в котором
они заданы во входном файле. Числа выводите в любом порядке. Если решений несколько,
выведите любое.
Пример(ы)
input.txt
output.txt
5
5 5 1 1
1 1 10 10
10 10 1 3
1 1 10 10
5 5 1 1
1 5
C. Легальное ПО
ограничение времени на тест: 0.5 сек.
Как вы знаете, для удостоверения легальности ПО используются серийные номера и
регистрационные ключи. Вами была разработана идея надежнейшей системы. Основывается
она на цифровых корнях чисел. Теперь необходимо написать программу, определяющую
цифровой корень данного числа. Если сумма цифр числа меньше десяти, то цифровой
корень и есть сумма цифр. В противном случае цифровой корень числа равен цифровому
корню суммы его цифр.
Входные данные
Во входном файле содержится натуральное число N (N ≤ 231-1).
Выходные данные
В выходной файл выведите одно число — ответ на поставленную задачу.
Пример(ы)
input.txt
output.txt
123
6
D. Усилители
ограничение времени на тест: 0.5 сек.
Для питания своей машины времени ученому-самоучке Шурику необходимо получить
напряжение, в N раз превосходящее напряжение бытовой сети (которое равно 1 Бервольту).
Для этой цели он решил использовать усилители напряжения. В расположенном неподалеку
магазине электроники оказались в продаже два типа усилителей, работающих следующим
образом: если у первого усилителя на входе напряжение X Бв, то на выходе 2X-1 Бв; если у
второго усилителя на входе напряжение X Бв, то на выходе 2X+1 Бв. Усилителей в магазине
неограниченное количество. Шурик может последовательно соединять усилители, то есть
входом первого усилителя в цепи является бытовая розетка, входом каждого последующего
усилителя является выход предыдущего, а с выхода последнего усилителя снимается
напряжение для питания машины времени. Усилители стоят одинаково, но недешево,
поэтому Шурик хочет обойтись как можно меньшим их числом. Помогите ему.
Входные данные
Во входном файле записано целое число N от 1 до 2*109.
Выходные данные
Если можно собрать схему, описанную в условии, выведите в первой строке минимальное
число усилителей в ней, а во второй строке выведите последовательность типов
использованных усилителей в цепи от бытовой розетки до машины времени. Выводите "1",
если использован усилитель первого типа, и "2", если второго. Числа разделяйте пробелами.
Если решения не существует, выведите "No solution".
Пример
Ввод
Пример 1
5
Вывод
Пример 1
2
2 1
E. Рынок
ограничение времени на тест: 0.5 сек.
В Берляндии наступило лето, и наконец-то в продаже появились знаменитые берляндские
арбузы. В одно прекрасное утро на рынок пришли N продавцов и M покупателей. У каждого
продавца был ровно один арбуз, и каждый покупатель тоже хотел купить ровно один арбуз.
Каждый продавец объявил минимальную цену, по которой он согласен продать свой арбуз, а
каждый покупатель назвал максимальную цену, по которой он согласен купить арбуз.
Начался шум и галдеж. Чтобы исправить ситуацию, для назначения единой цены на арбузы
был срочно вызван директор рынка Берлан Берладзе. В его интересах было назначить такую
единую цену, чтобы суммарная стоимость всех проданных по этой цене арбузов была
максимальной. Поскольку он не силен в математике, он попросил вас найти такую цену.
Помогите ему.
Входные данные
В первой строке входного файла содержится одно натуральное число N (1 ≤ N ≤ 100000) количество продавцов. Во второй строке содержатся N чисел - для каждого продавца
минимальная допустимая цена на его арбуз. В третьей строке содержится число M (1 ≤ M ≤
100000) - количество покупателей. В четвертой строке входного файла содержатся M чисел для каждого покупателя максимальная цена, за которую он согласен купить арбуз. Все
стоимости - натуральные числа, не превосходящие 10000.
Выходные данные
Выведите единственное число - ответ на поставленную задачу. Если правильных ответов
несколько, то можно вывести любой. Если при любой цене ни один арбуз не может быть
продан, то выведите число 0.
Пример
Ввод
Пример 1
3
1 3 2
3
2 2 2
Вывод
Пример 2
2
F. Урок физкультуры
ограничение времени на тест: 0.5 сек.
В одной из берляндских школ случилось несчастье: преподаватель физкультуры подхватил
простуду во время утренней зарядки. После некоторых обсуждений педсовет принял
решение, что первый, и единственный, раз урок физкультуры будет проводить учитель
математики Глеб Антонович, которому все равно, кому, где и когда рассказывать о
математике.
Придя в спортзал, Глеб Антонович заметил, что пол покрыт единичными квадратами в виде
шахматной доски размера NxM. Не особенно задумываясь о порядке упражнений, он
предложил начать с разминки. Для этого нужно было выстроиться в несколько рядов,
причем, так как Глеб Антонович любит во всем порядок, то каждый ученик должен стоять в
центре какого-либо единичного квадрата (не более одного человека в квадрате). Ученикам
не нравился дискомфорт, поэтому в любом квадрате 2x2 не должно было быть более двух
человек. Но из-за ограниченности пространства в каждом квадрате 2x2 не могло стоять
меньше двух ребят.
Вдруг Глеба Антоновича заинтересовало, сколько существует способов расставить учеников
вышеуказанным образом, если ребят считать неразличимыми. Ваша задача посчитать это
число способов.
Входные данные
В первой строке входного файла содержится два натуральных числа N и M (2 ≤ N, M ≤ 1000).
Выходные данные
Выведите единственное число (без лидирующих нулей) - количество расстановок. В
различных расстановках может участвовать различное количество детей.
Пример
Ввод
Пример 1
2 2
Вывод
Пример 1
6
Download