Темы --> Информатика
    Язык программирования(952 задач)
    Алгоритмы(1657 задач)
    Структуры данных(279 задач)
    Интерактивные задачи(17 задач)
    Другое(54 задач)
---> 2656 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 445 446 447 448 449 450 451 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Вам нужно распилить деревянный брус на несколько кусков. Компания берет плату за пилку в зависимости от размера бруса, который нужно распилить. За разрезание бруса длиной l берется l у.е.

Легко понять, что различные заказы приводят к различным ценам. Найдите минимальную стоимость распила для любого бруса заданного размера.

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

В первой строке число L(1 ≤ L ≤ 1000) — начальная длина бруса, следующая строка содержит число распилов n(1 ≤ n ≤ 160), которые нужно сделать. Следующая строка содержит n положительных чисел (0 ≤ ci ≤ L) — места, в которых нужно сделать распилы.

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

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

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

Миша записывает 2 числа: n и m, а Маша должна разделить число n на m частей, не меняя порядок цифр, при этом Миша ещё требует, чтобы произведение полученных m чисел было максимально. Помогите Маше.

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

Входные данные содержат несколько тестовых случаев (не более 100000). Каждый тестовый случай расположен в отдельной строке и содержит 2 числа, разделённые пробелом: сначала n (1 ≤ n ≤ 1015), а потом m ().

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

Для каждого тестового примера в отдельной строке выведите искомое максимальное произведение.

Примеры
Входные данные
12345 2
12345 3
Выходные данные
6170
2460
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
128 megabytes

Вожди известного племени Мумба-Юмба решили придумать новый боевой вопль для своих воинов. При этом они решили, что вопль должен состоять ровно из N букв (всего в алфавите племени M букв). Также, после долгих исследований было выяснено, что если в вопле встречается слово si (слово – это последовательность букв алфавита, не длиннее трех символов), то этот вопль вселяет во врага fi единиц страха. Если в вопль входит несколько слов, то их “страшность” суммируется. Например, если вопль содержит слова si и sj, то вопль вселяет fi+fj единиц страха.

Требуется по заданным N, M, алфавиту и списку слов si составить максимально страшный вопль.

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

В первой строке записано три числа — N, M и К (1 ≤ N ≤ 100, 1 ≤ M ≤ 24, 0 ≤ K ≤ 100), где K — количество страшных слов. В следующей строке записан алфавит — строка из M строчных латинских букв. Далее в K строках записана информация о словах — само слово и через пробел одно число, обозначающее страшность этого слова (1 ≤ fi ≤ 10000).

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

В выходной файл необходимо вывести страшность полученного вопля и на следующей строке — сам вопль.

Примеры
Входные данные
3 5 4
abcde
abc 10
ab 5
be 7
e 4
Выходные данные
16
abe
ограничение по времени на тест
0.25 second;
ограничение по памяти на тест
64 megabytes

Воодушевленный легендой о Вавилонской Башне, Петя решил построить ее аналог у себя в комнате, для этого он взял N детских строительных кирпичиков, выбрал для себя размер основания D и высоту башни H. Кроме того, он решил для себя, что размер каждого следующего уровня будет отличаться от предыдущего на один. Башня, показанная на рисунке, удовлетворяет Петиным запросам, имеет основание 2, высоту 8, и составлена из 22 кирпичиков.

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

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

Во входном файле находятся числа N, D, и H (в таком порядке), разделенные пробелами (1 ≤ N ≤ 1 000, 1 ≤ D, H ≤ 30)

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

Если башня, удовлетворяющая Петиным запросам существует, выведите в выходной файл H чисел — проект любой такой башни — количество кирпичиков на каждом уровне, начиная с самого нижнего. В противном случае выведите 0.

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

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

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

На первой строке входного файла находится число K — количество тестов во входном файле. Далее идёт описание K тестов. Каждый тест задаётся описанием двух многоугольников, которые надо проверить на пересечение. Каждый многоугольник задаётся в следующем формате: сначала указывается одно число Ni — число вершин этого многоугольника, — после чего идут Ni строк, каждая из которых содержит два разделённых пробелом числа xij и yij — координаты j-й вершины этого многоугольника. Вершины перечислены в порядке обхода многоугольника.

Число пар многоугольников в одном тесте 1 ≤ K ≤ 10, число вершин каждого многоугольника 3  ≤  Ni  ≤  100, координаты вершин — целые числа,  - 10 000 ≤ xij, yij ≤ 10 000.

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

Для каждой пары многоугольников выведите в выходной файл на отдельной строке одно слово: "YES", если многоугольники пересекаются, и "NO", если нет.

Примеры
Входные данные
2
3
0 0
-1 0
0 -1
3
1 1
2 1
1 2
4
0 0
2 0
2 2
0 2
4
1 1
3 1
3 3
1 3
Выходные данные
NO
YES

Страница: << 445 446 447 448 449 450 451 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест