#HK5119. 「JOISC 2013 Day3」考拉

「JOISC 2013 Day3」考拉

题目描述

题目译自 JOISC 2013 Day3 T2 「コアラ

在一条细长的直线道路上,有 JOI 的 K 理事长的家和 M 前理事长的家。擅长跳跃的考拉 IOI 君计划从 K 理事长的家前往 M 前理事长的家。

这条道路可以视为数轴,每个地点由一个数字坐标表示。K 理事长的家坐标为 KK,M 前理事长的家坐标为 MM。两者之间有 NN 个 JOI 导师的家,第 ii 个导师的家坐标为 TiT_{i}

IOI 君以体力 00 从 K 理事长的家出发,通过多次跳跃前往 M 前理事长的家。每次跳跃可以朝 M 前理事长的家方向前进距离 dd,其中 dd 为满足 1dD1 \leq d \leq D 的整数。每次跳跃后,IOI 君的体力减少 AA(体力可以为负值)。

如果 IOI 君跳跃后落在一个导师的家所在的坐标,他可以在这家住一晚,且仅限一次。第 ii 个导师的家住宿后,IOI 君的体力增加 BiB_{i}

IOI 君希望以尽可能多的体力到达 M 前理事长的家。

你需要编写一个程序,计算考拉 IOI 君到达 M 前理事长的家时可能拥有的最大体力值。

输入格式

从标准输入中读取以下数据:

  • 第一行包含五个整数 K,M,D,A,NK, M, D, A, N,用空格分隔,分别表示 K 理事长的家坐标、M 前理事长的家坐标、一次跳跃的最大距离、一次跳跃减少的体力值、导师家的数量。
  • 接下来 NN 行中,第 ii (1iN)(1 \leq i \leq N) 行包含两个整数 Ti,BiT_{i}, B_{i},用空格分隔,分别表示第 ii 个导师的家坐标和在该家住宿后增加的体力值。

输出格式

在标准输出中输出一行一个整数,表示考拉 IOI 君到达 M 前理事长的家时可能拥有的最大体力值。

0 10 4 10 2
3 10
8 5

-20

在此示例中,IOI 君的最佳行动方式如下:

  • 跳跃距离 33,到达坐标 33,体力变为 10-10
  • 在第 11 个导师的家住宿,体力变为 00
  • 跳跃距离 44,到达坐标 77,体力变为 10-10
  • 跳跃距离 33,到达 M 前理事长的家,体力变为 20-20
3 42 9 10 8
10 5
12 9
26 7
27 2
30 8
34 6
36 8
40 10

-25

在此示例中,IOI 君的最佳行动方式如下:

  • 跳跃距离 99,到达坐标 1212,体力变为 10-10
  • 在第 22 个导师的家住宿,体力变为 1-1
  • 跳跃距离 99,到达坐标 2121,体力变为 11-11
  • 跳跃距离 99,到达坐标 3030,体力变为 21-21
  • 在第 55 个导师的家住宿,体力变为 13-13
  • 跳跃距离 66,到达坐标 3636,体力变为 23-23
  • 在第 77 个导师的家住宿,体力变为 15-15
  • 跳跃距离 66,到达 M 前理事长的家,体力变为 25-25

数据范围与提示

对于所有输入数据,满足:

  • 1D10000000001 \leq D \leq 1000000000
  • 1A10000000001 \leq A \leq 1000000000
  • 1N1000001 \leq N \leq 100000
  • $0 \leq K < T_{1} < \cdots < T_{N} < M \leq 1000000000$
  • 1Bi10000000001 \leq B_{i} \leq 1000000000 (1iN)(1 \leq i \leq N)

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

子任务 分值 附加限制
11 2020 N1000N \leq 1000
22 3030 D100D \leq 100
33 5050 无附加限制