Разминка

A: Пересадки

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

Вводятся четыре числа – номера конечных остановок сначала первого, потом второго автобуса.

Ваша программа должна выводить одно число – искомое количество остановок.

Ввод Вывод
3 6 4 2
2
3 1 5 10
0

B: Минимальное число

Дано натуральное четырехзначное число. Найдите минимальное натуральное четырехзначное число, состоящее из тех же цифр, что и заданное. Заметим, что четырехзначные числа не могут начинаться с нуля.

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

Выведите минимальное натуральное четырехзначное число, состоящее из тех же цифр.

Ввод Вывод
1513
1135

C: Благозвучное слово

Все буквы латинского алфавита делятся на гласные и согласные. Гласными буквами являются: a, e, i, o, u, y. Остальные буквы являются согласными.

Слово называется благозвучным, если в этом слове не встречается больше двух согласных букв подряд и не встречается больше двух гласных букв подряд. Например, слова abba, mama, program — благозвучные, а слова aaa, school, search — неблагозвучные.

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

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

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

Ввод Вывод
program
0
school
1

D: Треугольник

На координатной плоскости расположены равнобедренный прямоугольный треугольник ABC с длиной катета d и точка X. Катеты треугольника лежат на осях координат, а вершины расположены в точках: A (0,0), B (d,0), C (0,d).

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

Сначала вводится натуральное число d (не превосходящее 1000), а затем координаты точки X – два целых числа из диапазона от –1000 до 1000.

Если точка лежит внутри, на стороне треугольника или совпадает с одной из вершин, то выведите число 0. Если точка лежит вне треугольника, то выведите номер вершины треугольника, к которой она расположена ближе всего (1 – к вершине A, 2 – к B, 3 – к C). Если точка расположена на одинаковом расстоянии от двух вершин, выведите ту вершину, номер которой меньше.

Ввод Вывод
5
1 1
0
3
-1 -1
1
4
4 4
2
4
2 2
0

E: Количество слов

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

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

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

Ввод Вывод
Hello , world!
2
www.olympiads.ru
3
Gyro-compass – this is a ...
4

F: Квас

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

Планируется построить всего один завод в каком-нибудь городе, и развозить продукцию по остальным городам. Перевозка одной бочки в соседний город стоит один тугрик (местная валюта). Ваша задача состоит в том, чтобы определить, в каком из городов следует построить завод, чтобы минимизировать транспортные расходы. Первая строка входных данных содержит число N – количество городов (\(N\le 10\)), втора строка содержит N чисел – количество кваса, требуемое ежедневно 1-м, 2-м, …, N -м городом (города нумеруются подряд вдоль кольцевой дороги).

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

Ввод Вывод
3
5 3 10
3
6
4 4 1 5 1 3
2

Пояснение для второго примера. На острове 6 городов. Если построить завод во 2-м городе, то потребуется заплатить 4 + 1 (стоимость перевозки в 1-й и 3-й города) + 5*2 + 3*2 (в 4-й и 6-й) + 1*3 (в 5-й). Во 2-й вообще ничего не везем. Это будет 24 тугрика. Легко проверить, что если построить завод в других городах, сумма будет больше. Например, если построить в 4-м городе, то сумма составит 1 + 1 + 3*2 + 4*2 + 4*3 = 28 тугриков.

G: Распечатка условий

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

Фирма, готовая размножить печатные материалы, предлагает следующие финансовые условия. Один лист она печатает за \(A_1\) рублей, 0 листов — за \(A_2\) рублей, 100 листов — за \(A_3\) рублей, 1000 листов — за \(A_4\) рублей, 10000 листов — за \(A_5\) рублей, 100000 листов — за \(A_6\) рублей и 1000000 листов — за \(A_7\) рублей. При этом не гарантируется, что один лист в более крупном заказе обойдется дешевле, чем в более мелком. И даже может оказаться, что для любой партии будет выгодно воспользоваться тарифом для одного листа.

Печать конкретного заказа производится или путем комбинации нескольких тарифов, или путем заказа более крупной партии. Например, 980 листов можно распечатать, заказав печать 9 партий по 100 листов плюс 8 партий по 10 листов, сделав 98 заказов по 10 листов, 980 заказов по 1 листу или заказав печать 1000 (или даже 10 000 и более) листов, если это окажется выгоднее.

Требуется по заданному объему заказа в листах \(N\) определить минимальную сумму денег в рублях, которой будет достаточно для выполнения заказа.

На вход программе сначала подается число \(N\) (\(1 \le N \le 2 \times 10^9\)) — количество листов в заказе. В следующих 7 строках ввода находятся натуральные числа \(A_1\), \(A_2\), \(A_3\), \(A_4\), \(A_5\), \(A_6\), \(A_7\) соответственно (\(1 \le A_i \le 10^6\)).

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

Ввод Вывод
980
1
9
90
900
1000
10000
10000
882
980
1
10
100
1000
900
10000
10000
900