Steady Cow Assignment (PKU 3189)

http://acm.pku.edu.cn/JudgeOnline/problem?id=3189

問題

牛がN頭、牛が何頭か入る家畜小屋がB個ある。
それぞれの牛たちには家畜小屋の好みのランクがあり、牛たちの間でなるべく不公平にならないようにしたい。
牛を全て小屋に入れたときに、それぞれの牛が入った小屋のランクの最大値と最小値の差の最小値はいくらになるか。
1<=N<=1000
1<=B<=20

解法

答えを2部探索しながら、ランクの最小値と最大値を決めた時に全ての牛を小屋に入れることが出来るかを最大流で確かめれば良い。
最大流を使わない解法もあるかも。