Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
10 / 59 / 21
Регистрация: 12.03.2017
Сообщений: 514
1

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

03.01.2018, 13:17. Показов 1407. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как известно, знаменитые египетские пирамиды были построены инопланетянами. Именно они послужили толчком к развитию цивилизации на Земле. Но мало кто знает, что этими инопланетянами был пандорианцы. Теперь они хотят повторить свой успех на планете Макемаке.

Для постройки пирамид на Макемаке были завезены и расставлены в ряд N каменных блоков различных типов. Всего существует 9 типов блоков. Тип блока определяется его размером: самые большие блоки имеют тип 9 , а самые маленькие — 1 . Правильная пирамида должна состоять из поставленных друг на друга блоков, причем сверху обязательно должен быть блок типа 1 , а каждый блок должен стоять на блоке следующего по величине типа.

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

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

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

В первой строке задано целое число N — количество завезенных блоков ( 1 ≤ N ≤ 100 000 ).

Во второй строке даны N целых чисел от 1 до 9 — типы блоков в том порядке, в котором они стоят в ряду, перечисленные слева направо.

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

Выведите минимально возможное число неиспользованных блоков.

Примечание

Во втором примере можно построить только две пирамиды высотой 1.

В третьем примере можно из стоящих в середине блоков 1 2 построить пирамиду высотой 2, а из оставшихся блоков — пирамиду высотой 5.

Тесты к этой задаче состоят из трёх групп.

Тесты 1–3. Тесты из условия, оцениваются в ноль баллов.

Тесты 4–18. В тестах этой группы 1 ≤ N ≤ 2000 . Тесты в этой группе оцениваются независимо. Каждый успешно пройденный тест оценивается в 4 балла.

Тесты 19–28. В тестах этой группы 1 ≤ N ≤ 100 000 . Решение будет тестироваться на тестах этой группы offline, т. е. после окончания тура. Тесты в этой группе оцениваются независимо. Каждый успешно пройденный тест оценивается в 4 балла.

Примеры
Входные данные

3
3 1 2

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

1

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

4
2 1 3 1

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

2

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

7
1 2 3 1 2 4 5

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

0
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2018, 13:17
Ответы с готовыми решениями:

Найти вероятность того, что после обработки их останется меньше 100
Вероятность того, что таракан погибает при обработке помещения дихлофосом равна 0.8. В помещении...

Найти область, при которой функция меньше единицы (Mathcad Prime 3.0)
Дано: MathCAD PTC 3.0, график функции. Надо найти область, при которой функция меньше единицы....

резиновая верстка с минимальной шириной, при которой если экран меньше минимального появляется гориз. скролер
Задача стала такая: есть шапка, в которой есть три основных блока: 1. логотип и навигация - блок...

Как можно собрать приложение, которое можно установить на машине, на которой нет VS и MSSQL?
Здравствуйте. Подскажите, пожалуйста, как можно собрать приложение, которое можно установить на...

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,077
Записей в блоге: 1
04.01.2018, 12:10 2
Это задание Отборочного тура на Московскую олимпиаду по информатике для 9 классов (2018 г)
Отборочный этап проходит с 11.12.2017 по 11.02.2018 (включительно).

Пункт 4.7 Правил форума, которые вы при регистрации обещали неукоснительно выполнять, гласит:
Как можно более полно описывайте (1) суть проблемы или вопроса, (2) что было сделано для ее решения и (3) какие результаты получены.

0
Платежеспособный зверь
8926 / 4354 / 1642
Регистрация: 28.10.2009
Сообщений: 11,568
05.01.2018, 19:53 3
Pavlin234, забыл добавить к условию задачи: "По щучьему веленью, по моему хотенью, решите за меня олимпиадные задачи. А я чемпионом буду".
0
05.01.2018, 19:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2018, 19:53
Помогаю со студенческими работами здесь

Уместить как можно больше блоков
Знаем ширину блока, в этот блок необходимо разместить как можно больше дочерних блоков. Ширина...

Как можно добиться такого расположения блоков и как сделать такие фигуры?
Сделал фигуры по этому коду height: 0; width: 47%; border-top: 430px solid #FFE344; ...

Разработайте программу, в которой имеется форма с двумя элементами Поле ввода
Ребята помогите пожалуйста бедному студенту... Одна надежда только на вас Разработайте программу,...

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

Как можно поддерживать высоту одинаковой для каждого из блоков?
Доброго времени суток! В коде ниже три блока, как три колонки: левый, центральный (основной, более...

Разработайте программу, в которой создается словарь с информацией о частоте вхождения в текст каждой цифры
Написал небольшой код, почему не работает? Объясните) text=input('') A={} for i in text: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru