#P14011. [POCamp 2023] 珿求 / bootfall

[POCamp 2023] 珿求 / bootfall

题目描述

在最新一届世界杯之后,一些国家正在考虑退出 FIFA,并成立一项新运动:bootfall。在 bootfall 中,两支队伍各有 NN 名球员对抗。每名球员可以是后卫或前锋,且在每场比赛前,球队可以决定每名球员的角色。

你执教一支拥有 NN 名球员的球队,第 ii 名球员的进攻值为 aia_i,防守值为 did_i。球队的进攻强度 AA 等于被指定为前锋的球员的所有 aia_i 之和,球队的防守强度 DD 等于被指定为后卫的球员的所有 did_i 之和。若你的球队面对另一支进攻强度为 AA'、防守强度为 DD' 的队伍,你的球队将打入 max(0,AD)\max(0, A - D') 球,而对手将打入 max(0,AD)\max(0, A' - D) 球。

你的球队将面对 QQ 支其他队伍,其中第 ii 支队伍的进攻强度为 AiA_i,防守强度为 DiD_i。你的任务是在每场比赛中决定哪些人防守、哪些人进攻,以获得尽可能好的结果(理想顺序为赢、平,尽量不要输)。

输入格式

第一行包含整数 NN1N4001 \le N \le 400),表示你队伍的球员数量。

接下来的 NN 行中,每行包含两个整数 aia_idid_i0ai,di4000 \le a_i, d_i \le 400),分别为第 ii 名球员的进攻值与防守值。

下一行包含一个整数 QQ1Q31051 \le Q \le 3 \cdot 10^5),表示比赛场数。

随后 QQ 行中,每行包含两个整数 AiA_iDiD_i0Ai,Di1600000 \le A_i, D_i \le 160000),表示你的球队将面对一支进攻强度为 AiA_i、防守强度为 DiD_i 的队伍。

输出格式

在一行中输出三个整数 w,d,lw, d, l:分别为在每场比赛都最优选择进攻与防守分配时,你将赢、平、输的场次数。

4
2 3
1 1
0 2
5 1
5
5 5
6 5
7 10
10 0
12 0

2 2 1

提示

子任务

本题采用捆绑测试。 | 子任务编号 | 得分 | 限制 | |:-:|:-:|---| | 11 | 1111 | 对所有 1iQ1 \le i \le Q,有 Ai=0A_i = 0 | | 22 | 1616 | N5, Q1000N \le 5,\ Q \le 1000 | | 33 | 2020 | 对所有 1iQ1 \le i \le Q,有 Di=0D_i = 0 | | 44 | 2424 | N,ai,di30, Q1000N, a_i, d_i \le 30,\ Q \le 1000 | | 55 | 2929 | 无额外限制。 |