---> 21 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 1 2 3 4 5 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes
В заданной строке требуется удалить минимальное количество символов, чтобы оставшаяся строка являлась палиндромом.

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

Входные данные

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

Выходные данные

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

Примеры
Входные данные
N
Выходные данные
1
N
Входные данные
ABCDEF
Выходные данные
1
A
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

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

Входные данные

Строка из круглых, квадратных и фигурных скобок. Длина строки не превосходит 100 символов.

Выходные данные

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

Примеры
Входные данные
([)]
Выходные данные
[]
Входные данные
{([(]{)})]
Выходные данные
[({})]
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Вам нужно распилить деревянный брус на несколько кусков в заданных местах. Распилочная компания берет \(k\) рублей за распил одного бруска длиной \(k\) метров на две части.

Понятно, что различные способы распила приводят к различной суммарной стоимости заказа. Например, рассмотрим брус длиной 10 метров, который нужно распилить на расстоянии 2, 4 и 7 м, считая от одного конца. Это можно сделать несколькими способами. Можно распилить сначала на отметке 2 м, потом 4 и, наконец, 7 м. Это приведет к стоимости 10+8+6=24, потому что сначала длина бруса, который пилили, была 10 м, затем она стала 8 м, и, наконец, 6 м. А можно распилить иначе: сначала на отметке 4 м, затем 2, затем 7м. Это приведет к стоимости 10+4+6=20, что лучше.

Определите минимальную стоимость распила бруса на заданные части.

Входные данные

Первая строка входных данных содержит целое число \(L\) (2≤\(L\)≤\(10^6\)) - длину бруса и целое число \(N\) (1≤\(N\)≤100) - количество распилов. Во второй строке записано \(N\) целых чисел \(С_i\) (0<\(C_i\)<\(L\)) в строго возрастающем порядке - места, в которых нужно сделать распилы.

Выходные данные

Выведите одно натуральное число - минимальную стоимость распила.

Примеры
Входные данные
10 3
2 4 7
Выходные данные
20
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Триангуляцией \(N\)-угольника называется набор из \(N\)-3 непересекающихся (кроме как в вершинах многоугольника) диагоналей, разбивающих \(N\)-угольник на \(N\)-2 треугольника.

Для заданного выпуклого \(N\)-угольника найдите триангуляцию, у которой сумма длин диагоналей, входящих в триангуляцию, минимальна.

Входные данные

Первая строка входных данных содержит целое число \(N\) (3≤\(N\)≤100) - количество вершин в многоугольнике. Далее идет \(N\) пар целых чисел \(x_i\), \(y_i\), не превосходящих 10000 по абсолютной величине - координаты выпуклого \(N\)-угольника в порядке обхода.

Выходные данные

Выведите одно действительное число - минимальную суммарную длину диагоналей триангуляции с точностью не менее 6 знаков.

Примеры
Входные данные
4
0 0
0 1
1 1
1 0
Выходные данные
1.41421356237
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Триангуляцией \(N\)-угольника называется набор из \(N\)-3 непересекающихся (кроме как в вершинах многоугольника) диагоналей, разбивающих \(N\)-угольник на \(N\)-2 треугольника.

Для заданного выпуклого \(N\)-угольника найдите триангуляцию, у которой длина самой большой диагонали, входящей в триангуляцию, минимальна.

Входные данные

Первая строка входных данных содержит целое число \(N\) (3≤\(N\)≤100) - количество вершин в многоугольнике. Далее идет \(N\) пар целых чисел \(x_i\), \(y_i\), не превосходящих 10000 по абсолютной величине - координаты выпуклого \(N\)-угольника в порядке обхода.

Выходные данные

Выведите одно натуральное число - минимальное значение квадрата длины самой большой диагонали в триангуляции.


Страница: << 1 2 3 4 5 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест