A5849. 「BJOI2019」排兵布阵
编程题
普及+/提高
知识点
题目描述
小 C 正在玩一款排兵布阵的游戏。在游戏中有 $n$ 座城堡,每局对战由两名玩家来争夺这些城堡。每名玩家有 $m$ 名士兵,可以向第 $i$ 座城堡派遣 $a_i$ 名士兵去争夺这个城堡,使得总士兵数不超过 $m$。
如果一名玩家向第 $i$ 座城堡派遣的士兵数严格大于对手派遣士兵数的两倍,那么这名玩家就占领了这座城堡,获得 $i$ 分。
现在小 C 即将和其他 $s$ 名玩家两两对战,这 $s$ 场对决的派遣士兵方案必须相同。小 C 通过某些途径得知了其他 $s$ 名玩家即将使用的策略,他想知道他应该使用什么策略来最大化自己的总分。
由于答案可能不唯一,你只需要输出小 C 总分的最大值。
如果一名玩家向第 $i$ 座城堡派遣的士兵数严格大于对手派遣士兵数的两倍,那么这名玩家就占领了这座城堡,获得 $i$ 分。
现在小 C 即将和其他 $s$ 名玩家两两对战,这 $s$ 场对决的派遣士兵方案必须相同。小 C 通过某些途径得知了其他 $s$ 名玩家即将使用的策略,他想知道他应该使用什么策略来最大化自己的总分。
由于答案可能不唯一,你只需要输出小 C 总分的最大值。
输入格式
输入第一行包含三个正整数 $s,n,m$,分别表示除了小 C 以外的玩家人数、城堡数和每名玩家拥有的士兵数。
接下来 $s$ 行,每行 $n$ 个非负整数,表示一名玩家的策略,其中第 $i$ 个数 $a_i$ 表示这名玩家向第 $i$ 座城堡派遣的士兵数。
接下来 $s$ 行,每行 $n$ 个非负整数,表示一名玩家的策略,其中第 $i$ 个数 $a_i$ 表示这名玩家向第 $i$ 座城堡派遣的士兵数。
输出格式
输出一行一个非负整数,表示小 C 获得的最大得分。
输入输出样例
输入 #1
1 3 10 2 2 6
输出 #1
3
输入 #2
2 3 10 2 2 6 0 0 0
输出 #2
8
说明/提示
对于 $10\%$ 的数据,保证 $s=1,n \le 3,m \le 10$。
对于 $20\%$ 的数据,保证 $s=1,n \le 10,m \le 100$。
对于 $40\%$ 的数据,保证 $n\le 10,m\le 100$。
对于另外 $20\%$ 的数据,保证 $s=1$。
对于 $100\%$ 的数据,保证
- $1\le s \le 100$
- $1\le n \le 100$
- $1\le m \le 2\times 10^4$
- 对于每名玩家,$a_i \ge 0, \sum\limits_{i=1}^n a_i \le m$。
对于 $20\%$ 的数据,保证 $s=1,n \le 10,m \le 100$。
对于 $40\%$ 的数据,保证 $n\le 10,m\le 100$。
对于另外 $20\%$ 的数据,保证 $s=1$。
对于 $100\%$ 的数据,保证
- $1\le s \le 100$
- $1\le n \le 100$
- $1\le m \le 2\times 10^4$
- 对于每名玩家,$a_i \ge 0, \sum\limits_{i=1}^n a_i \le m$。