Задачи олимпиады "Муниципальный этап ВОШ Красноярского края по информатике, 9-11 классы"
Задача A. Максимальная скорость
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Известно, что некоторый автомобиль начал свое движение со скоростью v0. После чего он двигался t1 секунд с ускорением a1, а затем – t2 секунд с ускорением a2. Необходимо найти максимальную скорость автомобиля на описанном выше промежутке его движения.
Входные данные
Входной файл INPUT.TXT содержит целые числа v0, t1, a1, t2, a2 (0 < v0 ≤ 106, 0 < t1, t2 ≤ 106, |a1| ≤ 106, |a2| ≤ 106). Гарантируется, что на данном промежутке движения автомобиль не двигался в обратном направлении.
Выходные данные
В выходной файл OUTPUT.TXT выведите единственное целое число – ответ на задачу.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
1 2 3 4 5
27
2
1 2 3 4 -1
7
Система оценки
Решения, работающие для значений во входных данных, не превосходящих 1000 по абсолютной величине, будут оцениваться в 75 баллов.
Задача B. Минимальный циклический сдвиг
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Циклическим сдвигом строки s называется строка sk+1sk+2…sns1s2…sk для некоторого k (0 ≤ k < n), где n – длина строки s.
Для заданной строки требуется определить ее лексикографически минимальный циклический сдвиг, т.е. необходимо найти среди всех возможных циклических сдвигов строки тот, который идет первым в алфавитном порядке.
Входные данные
В единственной строке входного файла INPUT.TXT записана строка, состоящая из заглавных букв английского алфавита. Длина строки от 1 до 1000 символов.
Выходные данные
В выходной файл OUTPUT.TXT выведите одну строку – лексикографически минимальный циклический сдвиг исходной строки.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
CAB
ABC
2
ABCAAAC
AAACABC
Пояснение
Чтобы лексикографически сравнить две различные строки одинаковой длины, нужно найти в них первое несовпадение символов при просмотре слева направо. Меньшей будет та строка, у которой несовпадающий символ идет раньше в английском алфавите.
Задача C. Уравнение
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Необходимо написать программу, решающую уравнения вида
Числа a, b, c, d, v заданы, а x – неизвестно.
Входные данные
Первая строка входного файла INPUT.TXT содержит пять целых чисел, разделенных одиночными пробелами: a, b, c, d, v. Все они не превосходят 1000 по абсолютной величине.
Выходные данные
Если указанное уравнение не имеет решений, выведите в выходной файл OUTPUT.TXT слово NONE. Если у уравнения ровно одно решение, то выведите строку вида X = p/q, где X – английская буква, p – целое число, q – натуральное, p и q взаимно просты, а дробь p/q является решением уравнения. Если у уравнения более одного решения, выведите слово MULTIPLE.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
1 2 3 4 5
X = -9/7
2
1 1 1 1 1
MULTIPLE
3
0 1 0 1 2
NONE
Система оценки
Решения, работающие только в случае существования единственного решения уравнения, будут оцениваться в 50 баллов.
Задача D. Дачный участок
(Время: 2 сек. Память: 32 Мб Баллы: 100)
Недавно Василий Иванович приобрел дачный участок необычной формы. Перед ним встала задача постройки забора, для чего ему потребовалось определить длину периметра данного участка. Он бы и сам справился, если бы участок имел обычную форму прямоугольника, но всё оказалось не так просто, и он решил обратиться к вам за помощью.
Для разметки дачных участков земельный комитет использовал сетку, состоящую из единичных квадратов (квадратных метров). Любой участок представляет собой 4-связную область из таких единичных квадратов. Это означает, что из любой точки участка можно попасть в любую другую его точку, не выходя за пределы участка, переходя из квадрата в квадрат по их общей стороне. При этом как площадь, так и периметр участка выражаются целыми числами.
По набору координат единичных квадратов, принадлежащих дачному участку Василия Ивановича, необходимо вычислить его периметр.
Входные данные
В первой строке входного файла INPUT.TXT указано целое число N (1 ≤ N ≤ 105) – количество единичных квадратов дачного участка. В следующих N строках описываются эти квадраты. Каждый квадрат задается целочисленными координатами (x,y) своего левого нижнего угла. (-109 ≤ x, y ≤ 109). Гарантируется, что участок представляет собой 4-связную фигуру.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – периметр дачного участка.
Примеры
№
INPUT.TXT
OUTPUT.TXT
Пояснение к примеру
1
1 0 0
4
2
5 0 0 0 -1 -1 0 1 0 0 1
12
Система оценки
Решения, работающие только на тестах, в которых координаты единичных квадратов не превышают 1000 по абсолютной величине, будут оцениваться в 50 баллов.
Задача E. Геометрическая прогрессия
(Время: 1 сек. Память: 16 Мб Баллы: 100)
Для заданных целых чисел a и n рассмотрим сумму следующего ряда:
Эта сумма может быть очень большой. Например, при a = 10 и n = 999999 значение суммы состоит из миллиона цифр!
Требуется найти остаток от деления этой суммы на натуральное число m.
Входные данные
В единственной строке входного файла INPUT.TXT даны три целых числа a, n и m (1 ≤ |a| ≤ 1018, 0 ≤ n ≤ 1018, 1 ≤ m ≤ 109).
Выходные данные
В выходной файл OUTPUT.TXT выведите единственное неотрицательное целое число – ответ на задачу.
Примеры
№
INPUT.TXT
OUTPUT.TXT
1
-4 10 2
1
2
2 31 10
5
3
10 9999 9
1
Система оценки
Решения, работающие для a, n и m, не превосходящих 10 по абсолютной величине, будут оцениваться в 20 баллов.
Решения, работающие для n ≤ 106, будут оцениваться в 40 баллов.
Решения, работающие для взаимнопростых значений m и a-1, будут оцениваться в 80 баллов.
Задача F. Сумма в ромбе
(Время: 3 сек. Память: 16 Мб Баллы: 100)
Дано клетчатое поле размера N×M, в каждой клетке которого записано целое число. Назовем ромбом с центром в клетке (x,y) и диагональю 2×d+1 (d – неотрицательное целое число) множество клеток (x',y'), которые удовлетворяют неравенству:
|x – x'| + |y – y'| ≤ d .
Ромб содержит ровно d2 + (d+1)2 клеток с целочисленными координатами. Если среди всех клеток, принадлежащих ромбу, нет таких, которые лежат за границей заданного поля, то ромб принадлежит клетчатому полю. В дальнейшем будем рассматривать только ромбы, принадлежащие клетчатому полю.
Под суммой в ромбе будем понимать сумму всех чисел, записанных в ячейках поля, координаты которых принадлежат заданному ромбу.
Например, на рисунке справа показан ромб на клетчатом поле 5×5 с центром в клетке (3,3) и диагональю 5, сумма в котором равна -88, а количество клеток, принадлежащих ромбу, равно 22 + 32 = 13.
Вам дано клетчатое поле с числами, записанными в его ячейках, и q запросов, каждый из которых характеризуется одним целым числом ci. Ваша задача среди всех принадлежащих полю ромбов найти такие, которые содержат ровно ci клеток, среди них найти ромбы с максимальной суммой и найти значение этой максимальной суммы.
Входные данные
В первой строке входного файла INPUT.TXT записаны два натуральных числа N и M – высота и ширина поля (N, M < 512). Каждая из последующих N строк содержит M целых чисел, записанных через пробел – числа, записанные в ячейках клетчатого поля. Числа в ячейках клетчатого поля по модулю не превосходят 2×104. В следующей строке указано одно неотрицательное целое число q, не превышающее 2×105 – количество запросов. Затем в q строках указано по одному целому числу ci (|ci| ≤ 106).
Выходные данные
В выходной файл OUTPUT.TXT в ответ на i-й запрос в отдельной строке укажите три числа: сначала ni – количество различных ромбов, в которых ровно ci клеток, затем mi – количество тех из них, сумма в которых максимальна среди всех ni ромбов, и si – значение максимальной суммы соответственно. Если нет ни одного подходящего ромба, то выведите ni = mi = si = 0.
Клетчатое поле в примере совпадает с полем, изображенным на рисунке в условии задачи. В нем есть только ромбы, в которых 1, 5 или 13 клеток, и их 25, 9 и 1 соответственно. Нетрудно видеть, что:
максимальная сумма в ромбах, в которых ровно 1 клетка, равна 1, и таких клеток 12.
максимальная сумма в ромбах, в которых ровно 5 клеток, равна 3. Это 4 ромба с координатами центров (2,2), (2,4), (4,2) и (4,4).
максимальная сумма в ромбах, в которых ровно 13 клеток, равна -88, и такой ромб единственный.
Система оценивания
Решения, работающие только для N, M ≤ 50 и q ≤ 10, будут оцениваться в 30 баллов.
Решения, работающие только для ci ≤ 40, будут оцениваться в 40 баллов.
Решения, работающие только для N, M ≤ 50, будут оцениваться в 50 баллов.