Problem E
Based Porridge
Computer science students, like kindergarteners, care a lot about fair outcomes: irregardless of whether this is achieved through helping the low or keeping down the high. You are hosting a sittning in Basen for $N$ students. There are K kinds of porridge and you have prepared $a_ i$ meals of the $i$th kind. Of course, everyone loves porridge. But some students prefer some kinds to others, in fact, student $i$ will derive $h_{ij}$ happiness from eating the $j$th kind of porridge. To maximize fairness while still being a good host, you want to serve everyone a meal while minimizing the difference in happiness between the most and least satisfied students. What is the minimum possible difference?
Input
The first line has two integers $N$ and $K$ ($2 \le K \le N \le 75$), the number of students and the number of kinds of porridge. The second line contains the $K$ integers $a_ i$ ($1\le a_ i\le N$, $\sum a_ i = N$), the available number of meals of porridge kind $i$. Finally, there are $N$ lines each containing the $K$ integers $h_{ij}$ ($1\le h_{ij}\le 10^9$), the happiness derived by person $i$ from porridge kind $j$.
Output
Output the minimum possible difference in happiness between the most and least satisfied students.
Scoring
Your solution will be tested on a set of test groups, each worth a number of points. To get the points for a test group you need to solve all test cases in the test group. Your final score will be the maximum score of a single submission.
Group |
Points |
Constraints |
$1$ |
$50$ |
$K = 2$ |
$2$ |
$50$ |
No further constraints |
Sample Input 1 | Sample Output 1 |
---|---|
3 2 2 1 4 5 2 1 4 2 |
2 |