|
Заблокирован
|
||||||
Задача "Торговля акциями"04.07.2020, 07:54. Показов 35620. Ответов 11
Метки нет (Все метки)
Её условие звучит так:
В настоящее время на бирже при торговле акциями активно применяются компьютерные системы, которые упрощают и автоматизируют процесс покупки и продажи акций. Некоторые из них даже позволяют вести торговлю вообще без участия человека. Разумеется, основным критерием, по которому такие системы оцениваются, является прибыль, которую приносит торговля с их применением. Для того, чтобы ее повысить при построении этих систем применяются различные математические методы и модели, такие, как, например, квадратичное программирование, нейронные сети, генетические алгоритмы и т. д. Основной трудностью при создании таких систем является то, что они должны некоторым образом учитывать изменение стоимости акций в будущем, а также его прогнозировать. Ваша задача несколько проще — курсы продажи и покупки акций за весь период из n дней уже известны, необходимо лишь разработать оптимальную стратегию продаж и покупок. При этом для простоты будем считать, что за эти n дней купить акции можно не более одного раза и продать акции можно также не более одного раза. Кроме этого, будем считать, что продажа и покупка будет осуществляться только с акциями одного типа. На начало этого периода вы располагаете суммой в x рублей. Для каждого из дней известна цена ai (от ask — цена предложения), по которой можно купить одну акцию, и цена bi (от bid — цена спроса), по которой можно одну акцию продать. При этом в соответствии с действующими правилами торгов на бирже разрешается продавать и покупать только целое число акций (например, если у вас есть 5 рублей, а акция стоит 2 рубля, то вы можете купить не более двух акций). Требуется написать программу, которая по имеющимся данным о стоимости акций в каждый из дней, найдет оптимальную стратегию покупки и продажи акций. Входные данные Первая строка входного файла содержит два целых числа n и x (1 ≤ n ≤ 100000, 1 ≤ x ≤ 106). Вторая строка входного файла содержит n целых чисел a1, . . . , aт. Третья строка входного файла содержит n целых чисел b1, . . . , bт. Для каждого индекса i (1 ≤ i ≤ n) выполняются неравенства 1 ≤ bi ≤ ai ≤ 1000. Выходные данные В первой строке выходного файла выведите максимальную сумму, которой вы можете обладать по окончании рассматриваемого периода. Во второй строке выведите два числа — номер дня d1, в который следует купить акции, и номер дня d2, в который эти акции следует продать (должно выполняться неравенство d2 > d1). При этом подразумевается, что покупается столько акций, сколько их можно купить на x рублей, а потом они все продаются. Если в найденной вами стратегии продавать и покупать акции не требуется, то выведите выведите во второй строке «-1 -1». Если существует несколько вариантов оптимальной стратегии, то выведите любой из них Примеры Входные данные 5 1000 2 3 1 4 3 1 2 1 2 3 Выходные данные 3000 3 5 Входные данные 5 1000 10 9 8 7 6 9 8 7 6 5 Выходные данные 1000 -1 -1 Я уже испробовал кучу разных решений, но большинство из них не проходит и выдаёт неправильный ответ, но я не понимаю, где я ошибся. Вот решение, которое прошло 15% тестов (у меня наилучший результат):
0
|
||||||
| 04.07.2020, 07:54 | |
|
Ответы с готовыми решениями:
11
Торговля акциями Ребята, где у меня ошибка Торговля акциями |
|
3 / 3 / 0
Регистрация: 15.06.2020
Сообщений: 44
|
|
| 04.07.2020, 13:22 | |
|
Как вы узнаёте сколько процентов тестов ваше решение прошло?
0
|
|
|
3 / 3 / 0
Регистрация: 15.06.2020
Сообщений: 44
|
|||||||||||
| 04.07.2020, 15:12 | |||||||||||
|
я тоже ещё не решил говорит, не верный ответ
Добавлено через 42 секунды мне просто хочется понять сколько у меня не правильно тестов проходит Добавлено через 1 минуту А вот мой код если интересно:
А этот код работает правильно но медленно. (Хотя я вроде всё что можно ускорил) Добавлено через 27 секунд ??? Добавлено через 43 секунды как узнать сколько тестов прошло?
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 26.03.2019
Сообщений: 35
|
|
| 05.07.2020, 10:25 | |
|
Fedor11, смотря на какой тестирующей программе.
Если это Сириус, то никак, да и вообще, чаще всего пишут кол-во пройденных и непройденных тестов, но сами тесты не пишут
1
|
|
|
3 / 3 / 0
Регистрация: 15.06.2020
Сообщений: 44
|
|
| 05.07.2020, 10:51 | |
|
а на какой тест системе можно узнать кол-во пройденных тестов?
0
|
|
|
1 / 1 / 0
Регистрация: 03.06.2020
Сообщений: 13
|
|
| 06.07.2020, 13:07 | |
|
На informatics
0
|
|
|
3 / 3 / 0
Регистрация: 15.06.2020
Сообщений: 44
|
|
| 07.07.2020, 16:12 | |
|
0
|
|
|
Status 418
|
|||||||
| 08.07.2020, 03:19 | |||||||
|
а у вас на каждом шаге считается за O(n) в итоге алгоритм получается O(n^2) Добавлено через 37 минут Переделал ваш код под O(n).
2
|
|||||||
|
3 / 3 / 0
Регистрация: 15.06.2020
Сообщений: 44
|
|
| 14.07.2020, 11:44 | |
|
спасибо, ваш код правильно работает!
надо было только ускорить и всё! Спасибо.
0
|
|
|
7 / 7 / 0
Регистрация: 29.01.2022
Сообщений: 55
|
||||||
| 19.03.2023, 22:11 | ||||||
|
Спустя 3 года
Вот мое решение: Но есть странный костыль c n == 1
1
|
||||||
| 19.03.2023, 22:11 | |
|
Помогаю со студенческими работами здесь
12
Торговля акциями Задача оптимизации. Торговля орехами и сушеными фруктами. А вы забираете свои дивиденды ?? Управление акциями
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|