Problem B
CDVII
Roman roads are famous for their longevity and sound engineering. Unfortunately, sound engineering does not come cheap, and a number of neo-Caesars have decided to recover the costs through automated tolling.
A particular toll highway, the CDVII, has a fare structure that works as follows: travel on the road costs a certain amount per km travelled, depending on the time of day when the travel begins. Cameras at every entrance and every exit capture the license numbers of all cars entering and leaving. Every calendar month, a bill is sent to the registered owner for each km travelled (at a rate determined by the time of day), plus one dollar per trip, plus a two dollar account charge. Your job is to prepare the bill for one month, given a set of license plate photos.
Input
The input has two parts: the fare structure, and the license photos. The fare structure consists of a line with $24$ non-negative integers denoting the toll (cents/km) from 00:00 - 00:59, the toll from 01:00 - 01:59, and so on for each hour in the day. Each hourly fare is at least $1$ and at most $100$.
Each photo record consists of the license number of the vehicle (up to $20$ upper case alphanumeric characters), the date and time (in MM:DD:hh:mm format, i.e., month, day, hour and minute in that order), the word “enter” or “exit”, and the location of the entrance or exit (in km from one end of the highway). The location is a non-negative number no larger than $100$.
Each “enter” record is paired with the chronologically next record for the same vehicle provided it is an “exit” record. “enter” records that are not paired with an “exit” record are ignored, as are “exit” records not paired with an “enter” record.
You may assume that no two records for the same vehicle have the same time. All dates will be valid dates within a single month. Times are recorded using a $24$-hour clock. There are not more than $1000$ photo records.
Output
Print a line for each vehicle that is charged for at least one trip, indicating the license number and the total bill in dollars, in alphabetical order by license number (where digits sort before letters).
Sample Input 1 | Sample Output 1 |
---|---|
10 10 10 10 10 10 20 20 20 15 15 15 15 15 15 15 20 30 20 15 15 10 10 10 ABCD123 01:01:06:01 enter 17 765DEF 01:01:07:00 exit 95 ABCD123 01:01:08:03 exit 95 765DEF 01:01:05:59 enter 17 |
765DEF $10.80 ABCD123 $18.60 |