Aij=Bi+1kj1DikA_{ij} = B_i + \displaystyle \sum_{1 \leq k \leq j - 1} D_{ik}

とすると、各 ii ごとに 11 つの jj を割り当てるという割り当て問題になります。

これは、ハンガリアン法により O(N3)O(N^3) で解くことができ十分に高速です。

花は選ばないこともできるので、負の値はすべて 00 とみなせることに注意してください。