P14011 [POCamp 2023] 珿求 / bootfall
题目描述
在最新一届世界杯之后,一些国家正在考虑退出 FIFA,并成立一项新运动:bootfall。在 bootfall 中,两支队伍各有 $N$ 名球员对抗。每名球员可以是后卫或前锋,且在每场比赛前,球队可以决定每名球员的角色。
你执教一支拥有 $N$ 名球员的球队,第 $i$ 名球员的进攻值为 $a_i$,防守值为 $d_i$。球队的进攻强度 $A$ 等于被指定为前锋的球员的所有 $a_i$ 之和,球队的防守强度 $D$ 等于被指定为后卫的球员的所有 $d_i$ 之和。若你的球队面对另一支进攻强度为 $A'$、防守强度为 $D'$ 的队伍,你的球队将打入 $\max(0, A - D')$ 球,而对手将打入 $\max(0, A' - D)$ 球。
你的球队将面对 $Q$ 支其他队伍,其中第 $i$ 支队伍的进攻强度为 $A_i$,防守强度为 $D_i$。你的任务是在每场比赛中决定哪些人防守、哪些人进攻,以获得尽可能好的结果(理想顺序为赢、平,尽量不要输)。
输入格式
第一行包含整数 $N$($1 \le N \le 400$),表示你队伍的球员数量。
接下来的 $N$ 行中,每行包含两个整数 $a_i$ 和 $d_i$($0 \le a_i, d_i \le 400$),分别为第 $i$ 名球员的进攻值与防守值。
下一行包含一个整数 $Q$($1 \le Q \le 3 \cdot 10^5$),表示比赛场数。
随后 $Q$ 行中,每行包含两个整数 $A_i$ 和 $D_i$($0 \le A_i, D_i \le 160000$),表示你的球队将面对一支进攻强度为 $A_i$、防守强度为 $D_i$ 的队伍。
输出格式
在一行中输出三个整数 $w, d, l$:分别为在每场比赛都最优选择进攻与防守分配时,你将赢、平、输的场次数。
说明/提示
### 子任务
**本题采用捆绑测试。**
| 子任务编号 | 得分 | 限制 |
|:-:|:-:|---|
| $1$ | $11$ | 对所有 $1 \le i \le Q$,有 $A_i = 0$ |
| $2$ | $16$ | $N \le 5,\ Q \le 1000$ |
| $3$ | $20$ | 对所有 $1 \le i \le Q$,有 $D_i = 0$ |
| $4$ | $24$ | $N, a_i, d_i \le 30,\ Q \le 1000$ |
| $5$ | $29$ | 无额外限制。 |