---> 154 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 25 26 27 28 29 30 31 >> Отображать по:

Дано натуральное n. Подсчитать количество решений неравенства x2 + y2 < n в натуральных числах, не используя действий с вещественными числами.

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

Дано одно число n (1 ≤ n ≤ 1012).

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

Выведите одно число — количество решений неравенства.

Примеры тестов

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

ограничение по времени на тест
5.0 second;
ограничение по памяти на тест
4 megabytes

Вывести в порядке возрастания все обыкновенные несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают n. Массив при этом заводить не следует.

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

Дано одно натуральное число n (2 ≤ n ≤ 1000)

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

Выведите дроби по одной в каждой строке. Числитель от знаменателя стоит отделять знаком « / » (как в примере)

Примеры тестов

Входные данные
5
Выходные данные
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5

ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
128 megabytes

Помимо известной операции сложения двух строк, введем операцию умножения целого неотрицательного числа a на строку s, означающую повторение строки s a раз (при a = 0 мы получаем пустую строку).

Даны строки x и z длиной не более 250 символов. Требуется найти такую минимально возможную по длине строку y, что для некоторого натурального i и целого неотрицательного a, будет выполняться следующее: подстрока(ax + y, i, k) = z, здесь i означает, с какого символа берется подстрока, k — длина подстроки строки ax + y. Нумерация символов в строке начинается с 1.

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

В первой строке вводится строка x, во второй строке вводится строка z. Каждая строка состоит только из маленьких латинских букв и имеет длину не более 250 символов.

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

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

Примечание

В первом тесте ответ — пустая строка, a = 2, i = 2.

Во втором тесте a = 1, i = 2.

В третьем тесте a = 0, i = 1.

Примеры
Входные данные
mama
amamam
Выходные данные
Входные данные
mam
amamam
Выходные данные
amam
Входные данные
ura
mura
Выходные данные
mura
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Одной из классических NP-полных задач является так называемая «Задача о рюкзаке». Формулируется она следующим образом. Дано n предметов, каждый из которых характеризуется весом wi и полезностью pi. Необходимо выбрать некоторый набор этих предметов так, чтобы суммарный вес этого набора не превышал W, а суммарная полезность была максимальна. Ваша задача состоит в том, чтобы написать программу, решающую задачу о рюкзаке.

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

Первая строка входного файла содержит натуральные числа n(1 ≤ n ≤ 20) и W(1 ≤ W ≤ 109). Каждая из последующих n строк содержит описание одного предмета. Каждое описание состоит из двух чисел: wi — веса предмета и pi — его полезности (1 ≤ wi, pi ≤ 109).

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

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

Примеры
Входные данные
2 10
10 100
9 80
Выходные данные
1 100
1 
Входные данные
5 100
80 1000
50 550
50 550
50 550
50 550
Выходные данные
2 1100
2 3 
Входные данные
6 100
80 1000
50 550
50 550
50 550
50 550
100 1100
Выходные данные
1 1100
6 
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
8 megabytes

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

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

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

Входной файл содержит две строки. Первая строка содержит положительное целое число 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

Страница: << 25 26 27 28 29 30 31 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест