Interestingly, Dick's code is by far the fastest using those implementations. For a sample size of 1,000,000 employees (to highlight the efficiency difference):
Tom (sorted version): 1510ms
Dick (min-linear version): 113ms
Harry (monoid version): 995ms