2 / 2 / 0
Регистрация: 03.05.2020
Сообщений: 202
1

Воды слонам!

28.07.2021, 14:38. Показов 4653. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Воды слонам!
Кроме Земли, пандорианцы уже много тысячелетий исследуют и другие планеты. Большой интерес для них в прошлом представляла планета Арракис. К сожалению, с началом исследований на Земле финансирование исследований на Арракисе было существенно урезано, и местным агентам-исследователям пришлось искать дополнительные источники дохода.

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

Изначально пандорианцы обладают запасом золота в 10 золотых слитков. Они решили в один из дней года купить на все это золото воды, а в какой-то последующий день продать всю купленную воду и получить прибыль за счет разницы стоимости. К примеру, если бы стоимость воды в день покупки составляла 1 литр за 4 золотых слитка, а стоимость воды в день продажи – 1 литр за 6 золотых слитков, то пандорианцы могли бы получить купить 104=2.5 литра воды, а продать они эту воду смогут за 2.5×6=15 золотых слитков. Таким образом, прибыль пандорианцев составила бы 15−10=5 золотых слитков. Конечно же, пандорианцы хотят максимизировать свой доход в результате этих махинаций. Помогите им выбрать оптимальные дни для покупки и продажи воды!

Входные данные
В первой строке задано целое число 2 ≤ N ≤ 100 000 — количество дней в году на планете Арракис.

Во второй строке заданы N целых положительных чисел a i ( 1 ≤ i ≤ N , 1 ≤ a i ≤ 5000 ), задающих стоимость воды на Арракисе в день i .

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

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

Примеры
входные данные
6
10 3 5 3 11 9
выходные данные
2 5
входные данные
4
5 5 5 5
выходные данные
0 0
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.07.2021, 14:38
Ответы с готовыми решениями:

Замерзание капли воды
Здравствуйте! Есть следующие формулы: $$\frac{\partial T}{\partial t} = a \frac{\partial...

Задача о переливании воды в сосудах
Доброго времени суток Дорогие Форумчане! Помогите подготовиться к олимпиаде. Посмотрел примерные...

Составление программы о состоянии воды
Какое состояние принимает вода (твердое, жидкое или газообразное) в зависимости от температуры?...

Анкор "розовые слоны", но в топе по "слонам"
Продвигаю сайт морду по запросу "розовые слоны", но в топе либо "розовые" либо "слоны", "розовые...

9
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
28.07.2021, 14:50 2
Цитата Сообщение от dmitrii2000 Посмотреть сообщение
Воды слонам!
Земли рабочим!
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
28.07.2021, 15:59 3
Я б посчитал максимумы на суффиксах, дальше за линейное время кажется очевидное решение.
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
28.07.2021, 16:19 4
я б создал массив размера 100000 и заполнил бы его индексами самого дешёвого дня до этого момента.
потом второй раз прошёлся бы циклом по этому массиву, ища максимальную прибыль от продажи в этот день.
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
28.07.2021, 16:21 5
Или минимум на префиксе, да.
0
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
28.07.2021, 16:23 6
Новичок, わからない
0
2 / 2 / 0
Регистрация: 03.05.2020
Сообщений: 202
28.07.2021, 17:47  [ТС] 7
Скиньте код пожалуйста!
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
30.07.2021, 07:50 8
Цитата Сообщение от dmitrii2000 Посмотреть сообщение
Скиньте код пожалуйста!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <vector>
#include <algorithm>
#include <deque>
#include <string>
using namespace std;
 
int main() {
    deque<int> left;
    deque<int> right;
    vector<int> v;
    int n; cin >> n;
    string t;
    int a, j = 0, b;
    for (int i = 0; i < n; i++) {
        cin >> t;
        if (t[0] == '+') {
            cin >> a;
            right.push_back(a);
            if (right.size() - left.size() == 1) {
                b = right[0];
                right.pop_front();
                left.push_back(b);
            }
        }
        if (t[0] == '*') {
            cin >> a;
            if (right.size() == left.size())
                left.push_back(a);
            else if (left.size() - right.size() == 1)
                right.push_front(a);
 
        }       
        if (t[0] == '-') {
            if (left.size() != 0) {
                v.push_back(left[0]);
                left.pop_front();
 
            }
            else {
                v.push_back(right[0]);
                right.pop_front();
            }
        }
    }
    for (int i = 0; i < v.size(); i++)
        cout << v[i] << endl;
    return 0;
}
0
2 / 2 / 0
Регистрация: 03.05.2020
Сообщений: 202
30.07.2021, 08:07  [ТС] 9
Выводит в неверном формате
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
30.07.2021, 08:16 10
Цитата Сообщение от dmitrii2000 Посмотреть сообщение
Выводит в неверном формате
Ну подправь немного.
3
30.07.2021, 08:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2021, 08:16
Помогаю со студенческими работами здесь

В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом из
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В...

C# В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом
В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В...

На сколько градусов повысится температура кипения воды, если в 100 г воды растворить 9 г глюкозы
133. На сколько градусов повысится температура кипения воды, если в 100 г воды растворить 9 г...

Каков расход воды в сечении, т. е. сколько кубометров воды протекает через сечение в секунду?
Гидрологами исследовано течение реки в некотором сечении: произведена серия замеров по прямой от...

Напишите программу, которая вычисляет количество капель и молекул воды в N гранёных стаканах воды.
Здравствуйте! Прохожу курс на Степике &quot;Основы программирования на Си&quot;, добрались до библиотеки...

За какое время нагреются до кипения 500 г воды, взятые из ведра со смесью воды и льда?
В электрическом чайнике 1 литр воды нагревается на 10 градусов за 1 минуту. За какое время...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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