Задача C. Следующее сочетание Задача A. Система неравенств

advertisement
Районный этап олимпиады Санкт-Петербурга по информатике.
6 декабря 2012 года
Задача C. Следующее сочетание
Задача A. Система неравенств
Ограничение по времени: 2 секунды
Ограничение памяти: 256 Мб
Ограничение по времени: 2 секунды
Ограничение памяти: 256 Мб
Задана система неравенств:
a1 x  b1

a 2 x  b2
Требуется написать программу, которая по заданным целым числам a1,
b1, a2 и b2 выяснит, сколько целых решений у этой системы. Если решений
бесконечно много, требуется вывести –1.
Формат входных данных
Даны 4 числа a1, b1, a2 и b2 по два на строке (–104 ≤ a1, b1, a2, b2 ≤ 104).
Формат выходных данных
Если система имеет конечное количество решений, то выведите
единственное число – количество решений. В противном случае выведите -1.
Пример
Входные данные
11
-1 -3
Формат входных данных
В первой строке даны числа n и k (1 ≤ k ≤ n ≤ 104). Во второй строке даны
k чисел – сочетание.
Формат выходных данных
Выходные данные
3
Выведите k чисел – следующее сочетание, если оно существует.
В противном случае выведите -1.
Пример
Входные данные
42
14
Задача B. Уравновешенная система
Ограничение по времени: 2 секунды
Ограничение памяти: 256 Мб
В уравновешенной троичной системе счисления вес n-го разряда равен 3n,
но цифра в разряде может принимать значения из множества {$, 0, 1}, где
«$» обозначает «–1». Эта система имеет то преимущество, что в ней у числа
легко поменять знак – достаточно заменить все "1" на "$" и наоборот.
(Например, 7 = 1$1, а –7 = $1$.)
Требуется написать программу, которая переводит число n из десятичной
системы счисления в уравновешенную троичную.
Формат входных данных
Дано целое число n (–106 ≤ n ≤ 106).
Формат выходных данных
Выведите число в уравновешенной троичной системе счисления.
Пример
Входные данные
-7
Сочетание из n по k – это набор из k различных чисел, каждое из которых
принимает значение от 1 до n. При этом сочетания, отличающиеся лишь
порядком входящих в них чисел, считаются одинаковыми, поэтому можно
считать, что числа в сочетании упорядочены по возрастанию.
Например, существует 6 сочетаний из 4 по 2:
(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)
В приведенном примере сочетания упорядочены лексикографически –
сначала по первому числу, затем по второму, и так далее.
Требуется написать программу, которая по заданным n, k и сочетанию
из n по k выведет следующее в лексикографическом порядке сочетание.
Выходные данные
$1$
Выходные данные
23
Задача D. Числа
Ограничение по времени: 2 секунды
Ограничение памяти: 256 Мб
Дана последовательность чисел a1, a2, …, an. За одну операцию
разрешается удалить любое (кроме крайних) число, заплатив за это штраф,
равный произведению этого числа на сумму соседних. Требуется удалить
все числа, кроме крайних, с минимальным суммарным штрафом.
Приведем
пример
оптимальной
последовательности
операций
для начальной последовательности:
1 50 51 50 1
Удаляем четвертое число, штраф 50 × (1 + 51) = 2600, получаем
1 50 51 1
Страница 1 из 2
Районный этап олимпиады Санкт-Петербурга по информатике.
6 декабря 2012 года
Удаляем третье число, штраф 51 × (50 + 1) = 2601, получаем
1 50 1
Удаляем второе число, штраф 50 × (1 + 1) = 100.
Итого, штраф 5301.
Требуется написать программу, которая по заданному целому числу n
(1 ≤ n ≤ 100), и последовательности a1, a2, …, an (числа от –100 до 100)
найдет минимальный возможный суммарный штраф.
Формат входных данных
В первой строке дано число n (1 ≤ n ≤ 100) – количество чисел
в последовательности.
Во второй строке находятся n целых чисел a1, a2, …, an (все числа
по модулю не превосходят 100).
Формат выходных данных
Выведите одно число – минимальный суммарный штраф.
Пример
Входные данные
5
1 50 51 50 1
Требуется написать программу, которая по заданным высоте таблицы N,
ширине таблицы M и её элементам aij находит искомую сумму.
Формат входных данных
В первой строке даны два числа N и M – высота и ширина таблицы
(2 ≤ N, M ≤ 100). В последующих N строках даны по M чисел в каждой –
элементы таблицы (–104 ≤ aij ≤ 104).
Формат выходных данных
Выведите единственное число – ответ на задачу.
Пример
Входные данные
44
1 -2 -1 3
-10 -5 1 -4
1 -1 2 -2
2 2 -1 2
Выходные данные
5301
Задача E. Максимизация периметра
Ограничение по времени: 1 секунда
Ограничение памяти: 256 Мб
Дана прямоугольная таблица, состоящая из N строк и M столбцов.
На пересечении i-й строки и j-го столбца записано целое число aij.
Требуется найти такую прямоугольную область со сторонами,
параллельными сторонам таблицы, чтобы сумма чисел, записанных
на её границе, была максимальна.
Например, для таблицы
1 –2 –1 3
–10 –5 1 –4
1 –1 2 –2
2
2 –1 2
оптимальное решение выглядит так:
1 –2 –1 3
–10 –5 1 –4
1 –1 2 –2
2
2 –1 2
Страница 2 из 2
Выходные данные
5
Download