#P2071. Auctions R Us
Auctions R Us
Description
Having run into trouble with current online auctions and buyers that win auctions and then back out, you decide to open a new enterprise that has the bidders deposit funds before they may bid onany item. If they win an auction, the amount they bid is immediately (that second!) deducted from their account. (The problem of sellers that don't deliver the items will be left for another day.)
You must write a program to implement the rules of this auction. You will be auctioning off a number of items, each of which will have a reserve price that must be met. Each of your bidders will deposit funds with you, and you must match these funds with items they successfully bid for.You will write a program that tracks the auctions during a single day and outputs the results ofeach auction.
Auction Rules
You are guaranteed:
- No two items will have the same end time.
<li>No two bids will have the same bid time.</li>
<li>No price, bid, or account balance will be negative.</li>
Bidder numbers and item numbers are unique within each category, but a bidder may have the same number as an item. Bidder and item numbers are not necessarily assigned sequentially.
An auction is won by the highest bid that:
- arrives no later than the second the auction ends.
<li>is greater than or equal to the minimum price for the item</li>
<li>has at least the bid amount remaining in the bidder's account at the instant the auction ends.</li>
Input
There are 3 sections in the data file, describing the items available for bid, the registered bidders,
and the bids made during the auction.
Items
- A single line containing the number of items, i
<li>i lines, one for each item of the form:</li>
< item number > < minimum price > < auction end time >
Item number is a non-negative integer, minimum price is specified to the penny (0.01), and auction end time is in 24 hour format of the form XX:YY:ZZ where XX is in hours from 00 to 23, YY is in minutes from 00 to 59, and ZZ is in seconds from 00 to 59.
Bidders
- A single line with the number of bidders registered, j
<li>j lines of bidder data of the form:</li>
< bidder number > < account balance >
Where bidder number is a non-negative integer and account balance is specified to the penny (0.01).
Bids
- A single line with the number of bids received, k
<li>k lines of bid data of the form:</li>
< item # being bid on > < bidder number > < bid amount > < bid time >
where all fields are formatted as described above.
Output
Output one line for each item being auctioned, in order of their auction finish time, listing
Item < item number > Bidder < bidder number > Price < winning bid >
If there is not a winning bid for an item, for that item output
Item < item number > Reserve not met.
2
1 5.00 05:06:27
2 25.00 15:30:11
2
11 37.37
22 55.55
3
1 11 60.00 04:03:01
2 11 26.00 00:18:03
2 22 27.00 09:03:05
Item 1 Reserve not met.
Item 2 Bidder 22 Price 27.00
Source
Mid-Atlantic 2004