Aij=Bi+∑1≤k≤j−1DikA_{ij} = B_i + \displaystyle \sum_{1 \leq k \leq j - 1} D_{ik}Aij=Bi+1≤k≤j−1∑Dik
とすると、各 iii ごとに 111 つの jjj を割り当てるという割り当て問題になります。
これは、ハンガリアン法により O(N3)O(N^3)O(N3) で解くことができ十分に高速です。
花は選ばないこともできるので、負の値はすべて 000 とみなせることに注意してください。