Набор задач CSES. Билеты на концерт. Предложения, пожалуйста, по решению этого вопроса.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Набор задач CSES. Билеты на концерт. Предложения, пожалуйста, по решению этого вопроса.

Сообщение Anonymous »

ссылка: https://cses.fi/problemset/task/1091
Доступно n билетов на концерт, каждый по определенной цене. Затем один за другим приходят m клиентов.
Каждый клиент объявляет максимальную цену, которую он готов заплатить за билет, и после этого он получит билет с ближайшей возможной ценой. так, чтобы она не превышала максимальную цену.
Ввод:
Первая строка ввода содержит целые числа n и m: количество билетов и количество клиентов.
Следующая строка содержит n целых чисел h_1,h_2,...,h_n: цена каждого билета.
Последняя строка содержит m целых чисел t_1,t_2,...,t_m: максимальная цена для каждого покупателя в порядок их прибытия.
Вывод:
Выведите для каждого покупателя цену, которую он заплатит за свой билет. После этого билет нельзя купить повторно.
Если покупатель не может получить ни одного билета, выведите -1.
Ограничения:
1 меньше или равно n , m меньше или равно 2 раза 10^5
1 меньше или равно h_i, t_i меньше или равно 10^9
Пример
Ввод :
5, 3,
5, 3, 7, 8, 5,
4, 8, 3
Выход:
3 ,8,-1
Моя попытка:

Код: Выделить всё

#include 
#include 

int main()
{
int n;
int m;
std::cin >> n;
std::cin >> m;
std::multiset price;
std::multiset max;
int input;

for (int i = 0; i < n; i++)
{
std::cin >> input;
price.insert(input);
}
for (int i = 0; i < m; i++)
{
std::cin >> input;
max.insert(input);
}

return 0;
}

На данный момент я понял, как читать входные данные и сохранять их внутри мультимножеств, но я не знаю, как продолжить :( Любые предложения/подсказки о том, как мне следует создать свой алгоритм решить эту проблему?


Подробнее здесь: https://stackoverflow.com/questions/784 ... s-question
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»