Темы --> Информатика
    Язык программирования(952 задач)
    Алгоритмы(1657 задач)
    Структуры данных(279 задач)
    Интерактивные задачи(17 задач)
    Другое(54 задач)
---> 2656 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 363 364 365 366 367 368 369 >> Отображать по:

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

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

Вводится одно число N, не превосходящее 1000.

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

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

Примеры
Входные данные
3
Выходные данные
4
Входные данные
6
Выходные данные
12
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Вася очень торопится домой, поэтому поднимаясь по лестнице из N ступенек он каждый раз перепрыгивает через одну или две ступеньки (то есть сначала он прыгает на 2-ю или на 3-ю ступеньку, со 2-й он может прыгнуть на 4-ю или на 5-ю и т.д.) Требуется определить количество способов, которыми он может попасть на последнюю, N-ю ступеньку.

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

Вводится одно натуральное число N, не превосходящее 40.

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

Выведите одно число - искомое количество способов.

Примеры
Входные данные
4
Выходные данные
1
Входные данные
5
Выходные данные
2
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

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

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

В первой строке вводится одно натуральное число N (N ≤ 40): количество ступенек.

Во второй строке вводится одно натуральное число K (K ≤ N): количество опасных ступенек.

В третьей строке вводятся K различных натуральных чисел в диапазоне от 1 до N: номера опасных ступенек.

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

Выведите одно число: количество способов попасть на N-ю ступеньку.

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

Петя в очередной раз купил себе набор из кубиков. На этот раз он выстроил из них настоящую крепость — последовательность из N столбиков, высота каждого столбика составляет Ai кубиков.

Вскоре ему стало интересно, насколько его крепость защищена от жуликов и воров. Для этого он ввел понятия башни. Башней называется любая последовательность из K столбиков подряд (где K — любимое число Пети). Защищенность башни определяется как суммарная высота всех столбиков этой башни (чем она больше, тем громаднее и ужаснее она кажется), умноженная на минимум высоты столбиков башни (т.к. враги, очевидно, будут пытаться проникнуть через самое слабое место башни). Неприступность крепости определяется как сумма защищенностей каждой из башен.

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

Петя успешно справился со своей задачей, но теперь Правительство Флатландии решило защитить свой горный курорт. Правительство уже построило крепость из кубиков (просто кубики были побольше). Теперь вы должны помочь Правительству посчитать неприступность этой крепости. Единственная трудность состоит в том, что у Правительства было очень много денег, и поэтому крепость была построена очень длинная.

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

В первой строке входного файла содержатся число N — количество столбиков в крепости и число K — любимое число Пети (1 ≤ K ≤ N ≤ 100 000). Далее на следующей строке содержатся N целых чисел, обозначающих Ai (1 ≤ Ai ≤ 106).

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

На первой строке выведите число Q — количество башен в оптимальном разбиении. Далее выведите Q чисел — номера первых столбиков каждой башни.

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

Компания «Рога и копыта» решила провести народный IPO (первоначальное публичное предложение акций компании на продажу широкому кругу лиц). Как обычно у Остапа Бендера не обошлось без аферы.

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

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

Тем не менее, изменяя порядок удовлетворения заявок покупателей можно влиять на количество вырученных денег. Помогите Остапу Бендеру наиболее выгодно продать «Рога и копыта». Акций у компании так много, что Остап может продать любой процент акций, в том числе дробный.

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

В первой строке задано количество людей, подавших заявки N (1 ≤ N ≤ 1000). Далее следуют N строк по два числа в каждой: натуральное число, не превосходящее 100 — часть компании в процентах, которую хочет купить очередной человек и натуральное число не превоходящее 109 — количество денег, которое он заплатит за 1 процент от общего количества акций компании.

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

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

Примечание

В первом тесте выгоднее сначала удовлетворить заявку второго человека, в результате чего будет продано 25% акций компании. Первому человеку будет продано 25% от оставшейся части (т.е. 18,75% от общего числа акций). Суммарная выручка в таком случае составит 25 × 10 + 18, 75 × 5 = 343, 75 рублей.

Примеры
Входные данные
2
25 5
25 10
Выходные данные
2 1 
Входные данные
3
10 30
20 15
30 10
Выходные данные
1 2 3 

Страница: << 363 364 365 366 367 368 369 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест