#L5026. 「POI 2022/2023 R3」Laptopy

「POI 2022/2023 R3」Laptopy

题目描述

题目译自 XXX Olimpiada Informatyczna – III etap Laptopy

Bajtogrod 学校的所有学生都使用相同的笔记本电脑。教室里摆放着几张相同的课桌,依次排开(每张课桌离黑板稍远一些)。课间前,nn 名学生进入教室,各自在课桌旁坐下,打开了笔记本电脑。课间后,又有 mm 名学生来到教室。

老师希望每位学生都能坐在课桌旁并打开笔记本电脑。同一课桌可容纳多名学生,但笔记本电脑不能前后重叠(否则会遮挡屏幕),也不能堆叠。为避免掉落,笔记本电脑不得超出课桌边缘,且其边必须与课桌边缘平行(不能斜放)。

形式上,课桌在平面坐标系中表示为尺寸 w×sw \times s 的矩形(ww 为平行于黑板的边长),笔记本电脑为无边框的 d×sd \times s 矩形(s<dws < d \leq w)。每个笔记本电脑矩形必须完全位于某课桌矩形内,且任意两个笔记本电脑矩形不得有公共点。

请计算最少需要移动(换到其他课桌或在同课桌内挪动位置)多少名初始的 nn 名学生,才能让 n+mn+m 名学生及其笔记本电脑都适应课桌?移动一名学生及其笔记本电脑算作一次操作,无论移动距离远近。

考虑多个独立查询(mm 的值可能不同)。若某查询无法让所有学生适应课桌,输出 1-1


输入格式

第一行包含五个正整数 nn, qq, dd, ll, ww (1qn30001 \leq q \leq n \leq 3000, 1l30001 \leq l \leq 3000, 1d,wl10181 \leq d, w \cdot l \leq 10^{18}),分别表示课间前已入座的学生数、查询数、笔记本电脑长度、课桌数和每张课桌的长度。课桌编号为 11ll,入座学生编号为 11nn

接下来的 nn 行,每行包含两个整数 kik_i, pip_i (1kil1 \leq k_i \leq l, 0piwd0 \leq p_i \leq w - d, i=1,,ni=1, \ldots, n),表示第 ii 名学生坐在第 kik_i 号课桌,笔记本电脑左边缘距课桌左边缘的距离为 pip_i。保证初始的学生和笔记本电脑位置满足题目条件。

下一行包含 qq 个整数 m1,,mqm_1, \ldots, m_q (1mi10181 \leq m_i \leq 10^{18}),描述程序的查询。第 ii 个查询表示在 nn 名学生按上述位置入座后,新增 mim_i 名学生进入教室。每个查询独立。


输出格式

输出 qq 行,第 ii 行包含一个整数,作为第 ii 个查询的答案。若无论学生如何移动,都无法让所有学生适应课桌,输出 1-1。否则,输出最少需要移动的学生数,以容纳 n+min+m_i 名学生及其笔记本电脑。

尽管初始位置 pip_i 为整数,学生可移动到非整数位置。


样例

输入

4 3 3 2 10
2 1
1 2
1 6
2 5
2 1 3

输出

2
1
-1

对于第一个查询:只需将第二名学生移到第一课桌左端,第四名学生移到第二课桌右端,如图所示。


附加样例

  • n=1n=1, l=1l=1, d=2d=2, w=100w=100, p1=1p_1=1q=1q=1, m1=49m_1=49,答案为 11
  • n=500n=500, l=1l=1, d=7d=7, w=4002w=4002, pi=1+8(i1)p_i=1+8 \cdot (i-1)q=50q=50, mi=51im_i=51-i,答案为 299,293,287,,11,5299, 293, 287, \ldots, 11, 5
  • n=3000n=3000, l=2l=2, d=109d=10^9, w=51012w=5 \cdot 10^{12},学生在第一课桌从左端开始,间隔 0,1,2,0, 1, 2, \ldotsq=1q=1, m1=7000m_1=7000,答案为 29982998

数据范围与提示

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

子任务编号 附加限制 分值
1 n20n \leq 20 17
2 n500n \leq 500 34
3 n3000n \leq 3000 49