#HK5156. 「ROIR 2017 Day 1」矿产资源

「ROIR 2017 Day 1」矿产资源

题目描述

译自 ROIR 2017 Day1 T4. Полезные ископаемые

在一个邻近星系的行星开发项目中,计划派遣多批机器人到该行星上开采矿产资源。

计划开采矿产的行星表面区域是一个大小为 w×hw \times h 的网格矩形,网格单元的坐标范围从 (1,1)(1,1)(w,h)(w, h)。该区域内的一些单元设有专家基地,可以接收机器人批次。总共有 ss 个基地,第 ii 个基地位于坐标为 (xi,yi)(x_i, y_i) 的单元。

每批机器人由三个参数定义:第 jj 批机器人被送往基地 bjb_j,包含 njn_j 个机器人,每个机器人的移动能力为 mjm_j

当一批机器人被送到相应基地时,该批中的每个机器人从基地移动到行星表面上的某个单元。如果一个机器人的移动能力为 mm,它最多可以向八个方向中的一个移动 mm 次,如下图所示。

在所有批次的机器人到达并安置在区域内后,它们将被激活并开始开采矿产资源。在移动过程中,一个单元内可以同时容纳任意数量的机器人。然而,激活后,每个单元内最多只能有 qq 个机器人。

项目领导层收到了关于 tt 批可依次发送到行星的机器人信息。在考虑到移动能力限制的情况下,送达所有批次的机器人后,可能无法将机器人安置在区域内,使得每个单元内不超过 qq 个机器人。因此,领导层必须选择前 kk (0kt)(0 \leq k \leq t) 批机器人完全送达相应基地。如果 k<tk < t,则需额外从第 (k+1)(k+1) 批机器人中接收 zz (0znk+1)(0 \leq z \leq n_{k+1}) 个机器人。

所有接收到的机器人必须在移动能力限制下安置在区域内,每个单元内不得超过 qq 个机器人。之后,它们将被激活并开始开采矿产资源。当然,项目领导层希望最大化送达行星的机器人数量,因此在上述限制下,需要最大化 kk,然后最大化 zz

你的任务是编写一个程序,根据区域大小、数值 qq、基地位置描述、计划机器人批次数量及其描述,确定最大值 kk(机器人批次数量),以及随后从第 (k+1)(k+1) 批中额外接收的最大机器人数量 zz,以便将机器人送达行星后,能够将它们安置在区域内,使得每个单元内不超过 qq 个机器人。

输入格式

输入文件的第一行包含数字 w,h,s,qw, h, s, q $(1 \leq w, h \leq 10^{5}, 1 \leq s \leq 4, 1 \leq q \leq 100)$。接下来的 ss 行,每行包含两个整数 xi,yix_i, y_i (1xiw,1yih)(1 \leq x_i \leq w, 1 \leq y_i \leq h),描述专家基地的位置。

下一行包含数字 tt (1t100)(1 \leq t \leq 100),表示机器人批次数量。接下来的 tt 行描述机器人批次,每行包含三个整数 bj,nj,mjb_j, n_j, m_j $(1 \leq b_j \leq s, 1 \leq n_j \leq w \cdot h \cdot q, 0 \leq m_j < \max(w, h))$。

输出格式

输出两个数字 kkzz,其中 0kt0 \leq k \leq t。如果 k=tk = t,则 zz 必须为 00;否则,应满足 0z<nk+10 \leq z < n_{k+1}

4 3 2 1
1 1
3 2
3
1 4 1
2 9 1
1 12 2

1 7

在给出的样例中,应完全接收第一批机器人,并额外从第二批中接收 77 个机器人。下图展示了如何将这些机器人安置在区域内,使得每个单元内不超过一个机器人。专家基地用圆圈表示。从基地 11 出发的机器人所在的单元用垂直条纹表示,从基地 22 出发的机器人所在的单元用灰色表示。

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 w,hw, h 的限制 ss 的限制 qq 的限制 子任务依赖
11 1818 1w,h201 \leq w, h \leq 20 s=1s = 1 q=1q = 1
22 1212 1s21 \leq s \leq 2 11
33 99 1s31 \leq s \leq 3 1,21, 2
44 1010 1q1001 \leq q \leq 100 1,2,31, 2, 3
55 1515 1w,h1051 \leq w, h \leq 10^{5} s=1s = 1 11
66 3636 1s41 \leq s \leq 4 1,2,3,4,51, 2, 3, 4, 5