Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Между пунктами с номерами 1, 2, ... , N(N ≤ 1500) проложено несколько дорог. Длина каждой дороги известна. По этой системе дорог можно добраться из любого упомянутого пункта в любой другой. Автозаправки расположены только в пунктах. Требуется определить, какое максимальное расстояние без заправки должен быть в состоянии проезжать автомобиль, чтобы без проблем передвигаться между пунктами.
В первой строке входного файла находятся числа N и K (количество дорог). В следующих K строках указаны пары пунктов, связанных дорогами и расстояние между ними — целое число километров, не превышающее 10000.
В выходном файле должно оказаться одно число длина максимального пробега без дозаправки.
3 2 1 2 5 1 3 10
10
В телеигре "The Price is Right" игроки (обычно четверо) соревнуются в угадывании стоимости того или иного предмета. Побеждает тот, кто назвал наиболее близкое число, не превосходящее ответа. Ввиду популярности телеигры "Кто Хочет Стать Миллионером", в которой участвует один игрок, American Contest Management (ACM) решило выпустить свою версию игры «The Price is Right» для одного игрока. В этой версии каждому участнику даётся G (1 ≤ G ≤ 30) попыток и L (0 ≤ L ≤ 30) жизней. Игроку требуется точно угадать стоимость предмета. Если очередная попытка верна, то игрок выигрывает. В противном случае он теряет попытку. Помимо того, если он называет число, большее ответа, то также теряет одну жизнь. Игрок проигрывает, если у него не остаётся попыток или он называет большую стоимость, не имея ни одной жизни. Все цены положительные целые числа. Оказывается, что для некоторых значений G и L при условии, что искомая стоимость лежит в интервале от 1 до N включительно, можно избрать заведомо выигрышную стратегию. ACM не хочет, чтобы выигрывал каждый участник, поэтому организаторы хотят быть уверены, что настоящая стоимость превосходит N. Но в то же время нельзя делать игру слишком сложной, поскольку в противном случае победителей будет слишком мало, и игра быстро потеряет популярность. Поэтому организаторы хотят подобрать значения G и L в зависимости от искомой стоимости. В связи с этим ACM попросило вас решить следующую задачу: по заданным значениям G и L найти максимальное значение N, при котором игрок может воспользоваться заведомо выигрышной стратегией.
На вход может подаваться сразу несколько тестов. Каждый тест задаётся строкой из двух целых чисел G и L, разделённых пробелом. Признаком конца ввода является строка, содержащая G = L = 0.
Для каждого теста выведите строку в следующем формате: Case c: N, где с — номер теста, а N — ответ на вопрос задачи.
3 0 3 1 10 5 7 7 0 0
Case 1: 3 Case 2: 6 Case 3: 847 Case 4: 127
Ваш младший брат Петя недавно получил домашнее задание и ему нужна ваша помощь. Учитель дал ему последовательность чисел, которую требуется отсортировать в возрастающем порядке. Во время сортировки можно менять местами два любых числа. Каждый обмен имеет стоимость, равную сумме чисел, которые в него входят.
Напишите программу, которая найдет минимальную стоимость такой сортировки заданной последовательности.
Входной файл содержит две строки. Первая строка содержит положительное целое число n (1000 > n > 1) — количество чисел, которые требуется отсортировать. Вторая строка содержит n различных чисел (каждое положительное и не больше 1000), которые надо отсортировать.
Выведите одну строку, содержащую минимальную стоимость сортировки чисел как показано в примере.
3 3 2 1
4
4 8 1 2 4
17
5 1 8 9 7 6
41
6 8 4 5 3 2 7
34
Интернациональная Развлекательная Компания только что выпустила новую машину со слотами. Она состоит из круглых слотов одинакового размера, расположенных в виде треугольника. Пример с четырьмя рядами показан ниже. Когда игрок нажимает рычаг, машина выводит по произвольной букве в каждый слот. Если после этого некоторые три одинаковые буквы оказываются в вершинах правильного треугольника, то машина выдает деньги. В приведенном примере буквы 'а' и 'с' удовлетворяют условию.

Компания выпускает несколько моделей машины, различающиеся количеством рядов слотов. Но возникли трудности с написанием программы, определяющей выигрышную позицию. В этом и состоит ваша задача.
Входные данные состоят из набора нескольких тестов. Каждый тест начинается с натурального числа N, показывающего количество рядов в машине. Следующая строка состоит из
алфавитных маленьких букв, которые будут загружены построчно в машину, начиная с вершины. Например, то, что показано на рисунке описывается так: 4 abccddadca Значение N не более 12. Строка с одиночным нулем завершает ввод.
Для каждого варианта входных данных выведите буквы, образующие равносторонний треугольник в алфавитном порядке. Если таких букв нет, выведите «LOOOOOOOOSER!».
4 abccddadca 6 azdefccrhijrrmznzocpq 2 abc 0
ac crz LOOOOOOOOSER!
Будем называть пару строк (α, β) подпарой строки γ если γ = γ1α γ2β γ3 для некоторых (возможно пустых) строк γ1, γ2, γ3. Длиной пары строк будем называть сумму длин составляющих ее строк: |(α, β)| = |α| + |β|.
По заданным двум строкам ξ и η найдите их длиннейшую общую подпару, то есть такую пару строк (α, β), что она является подпарой как ξ, так и η, и ее длина максимальна.
Входной файл содержит две непустых строки ξ и η, состоящие из маленьких букв латинского алфавита. Длина каждой из строк не превышает 3000.
Выведите α на первой строке и β на второй строке.
abacabadabacaba acabacadacabaca
abaca acaba
ab bc
b