使用するジョイントの数をk個と決めたとき、ジョイントの中で長いものからk個使用するのが最適となります。ジョイントを使うとパイプの本数は1本減るので、使うジョイントの数が決まればパイプの本数も決まります。よって、使うジョイントの数を決めるとその時にもらえる給料は計算できます。
ジョイントを使う数を全通り試すことで、全てのパターンの給料を計算できます。予めジョイントを長さでソートしておくことでジョイントの長さの合計をO(1)で求めることができます。よってこの問題はO(NlogN)のアルゴリズムで実装できます。

参考文献:4つの言語で解ける 実践プログラミング問題集