Concert Tickets Cses Problem set solution | Concert Tickets Cses Problem set solution Using multiset
Concert Tickets Cses Problem set solution-
Porblem statement-
- Time limit: 1.00 s
- Memory limit: 512 MB
Each customer announces the maximum price he or she is willing to pay for a ticket, and after this, they will get a ticket with the nearest possible price such that it does not exceed the maximum price.
Input
The first input line contains integers and : the number of tickets and the number of customers.
The next line contains integers : the price of each ticket.
The last line contains integers : the maximum price for each customer.
Output
Print, for each customer, the price that they will pay for their ticket. After this, the ticket cannot be purchased again.
If a customer cannot get any ticket, print .
Constraints
Input:
5 3
5 3 7 8 5
4 8 3
Output:
3
8
-1
Concert Tickets Cses Problem set solution-
In this problem we will use multiset stl.
Multisets are a type of associative containers similar to set, with an exception that multiple elements can have same values.Multisets are containers that store elements following a specific order, and where multiple elements can have equivalent values.
In a multiset, the value of an element also identifies it (the value is itself the key, of type T). The value of the elements in a multiset cannot be modified once in the container (the elements are always const), but they can be inserted or removed from the container.
Internally, the elements in a multiset are always sorted following a specific strict weak ordering criterion indicated by its internal comparison object (of type Compare).
multiset containers are generally slower than unordered_multiset containers to access individual elements by their key, but they allow the direct iteration on subsets based on their order.
Multisets are typically implemented as binary search trees. ref-http://www.cplusplus.com/reference/set/multiset/
multiset lower_bound() in C++
The multiset::lower_bound() is a built-in function in C++ STL which returns an iterator pointing to the first element in the container which is equivalent to k passed in the parameter. In case k is not present in the set container, the function returns an iterator pointing to the immediate next element which is just greater than k. If the key passed in the parameter exceeds the maximum value in the container, then the iterator returned prints the number of elements in the container.
Syntax:
multiset_name.lower_bound(key)
Join Telegram channel most important programming material - https://t.me/competitiveProgrammingDiscussion
Code Solution -
Comments
Post a Comment