Earlier quoted context omitted.
Less than 40 lines total for the subproblems, including white space. Less than an hour (if you don't count checking email in the middle). Would have been slightly faster if I had thought less and brute forced a bit more. A crazy old friend used to say "Don't underestimate brute force and ignorance"! :-)
I though about a more elegant approach and then just brute-forced it too when I realized a brute-force solution wasn't really very expensive. cloc shows 7 lines of perl code for my part 1 solution and 22 lines for part two. [edit] time for my part 1 solution was 7.8 seconds on an old Dell 2650
For part 1, with 'time' got real 0m2.865s, user 0m2.780s on a T60 Lenovo/"IBM". I used a few minutes to think about the brute force, which probably saved me half the execution time.
In pure percentage of loss/earn, those minutes for three seconds was probably the worst business of my life... :-) You can take the C/C++ compiler from the old nerd, but you can't stop him from doing premature optimization. :-)