#P2857. [USACO06FEB] Steady Cow Assignment G

    ID: 1900 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>贪心2006二分USACO枚举,暴力最大流双指针,尺取法,two-pointer

[USACO06FEB] Steady Cow Assignment G

Description

农夫约翰的 NN 头牛(1N10001 \leq N \leq 1000)各自居住在 BB 个谷仓中的一个(1B201 \leq B \leq 20),当然,谷仓的容量是有限的。有些牛非常喜欢她们当前的谷仓,而有些则不太开心。

FJ 想要重新安排这些牛,使得牛群的快乐程度尽可能均衡,即使这意味着所有的牛都讨厌她们被分配的谷仓。

每头牛都会告诉 FJ 她对谷仓的偏好顺序。牛对特定分配的快乐程度是她对该谷仓的排名。你的任务是找到一种将牛分配到谷仓的方法,使得没有谷仓的容量被超出,并且牛给她们被分配的谷仓的排名范围(即最高排名谷仓和最低排名谷仓之间的正差加一)的大小尽可能小。

Input Format

第 1 行:两个用空格分隔的整数,NNBB

第 2 行到第 N+1N+1 行:每行包含 BB 个用空格分隔的整数,正好是 1..B1..B 的某种顺序排列。第 i+1i+1 行的第一个整数是第 ii 头牛最喜欢的谷仓的编号,第二个整数是第 ii 头牛次喜欢的谷仓的编号,依此类推。

N+2N+2 行:BB 个用空格分隔的整数,分别是第一个谷仓的容量,第二个谷仓的容量,依此类推。这些数字的总和保证至少为 NN

Output Format

第 1 行:一个整数,牛给她们被分配的谷仓的排名范围的最小值,包括端点。

6 4
1 2 3 4
2 3 1 4
4 2 3 1
3 1 2 4
1 3 4 2
1 4 2 3
2 1 3 2
2

Hint

样例解释:

每头牛可以被分配到她们的第一或第二选择:谷仓 1 得到牛 1 和 5,谷仓 2 得到牛 2,谷仓 3 得到牛 4,谷仓 4 得到牛 3 和 6。 (由 ChatGPT 4o 翻译)