#ABC353G. 商人高桥君

商人高桥君

商人高桥君

题目描述

AtCoder 王国有 NN 个城镇:城镇 11, 22, \ldots, NN。 从城镇 ii 移动到城镇 jj,需要支付 C×ijC \times |i-j| 日元的通行费。

商人高桥君正在考虑参加即将举办的 MM 场集市中的任意若干场(也可以一场都不参加)。

ii 场集市 (1iM)(1 \le i \le M) 用整数对 (Ti,Pi)(T_i, P_i) 描述:集市在城镇 TiT_i 举办,若他参加则可以赚取 PiP_i 日元。

对于所有 1i<M1 \le i \lt M,第 ii 场集市在第 (i+1)(i+1) 场集市开始之前结束。 他移动所需的时间可以忽略不计。

他最初拥有 101010010^{10^{100}} 日元,并且一开始位于城镇 11。 通过最优地选择参加哪些集市以及如何移动,求他能获得的最大利润。

形式化地说,设在他最大化 MM 场集市结束后的钱数时,最终钱数为 1010100+X10^{10^{100}} + X。求 XX

输入格式

输入按以下格式从标准输入给出:

NN CC
MM
T1T_1 P1P_1
T2T_2 P2P_2
\vdots
TMT_M PMP_M

输出格式

输出答案。

样例

6 3
4
5 30
2 10
4 25
2 15
49

例如,高桥君可以通过如下行动使钱增加 4949 日元:

移动到城镇 55。他的钱变为 10101001210^{10^{100}} - 12 日元。

参加第一场集市。他的钱变为 1010100+1810^{10^{100}} + 18 日元。

移动到城镇 44。他的钱变为 1010100+1510^{10^{100}} + 15 日元。

参加第三场集市。他的钱变为 1010100+4010^{10^{100}} + 40 日元。

移动到城镇 22。他的钱变为 1010100+3410^{10^{100}} + 34 日元。

参加第四场集市。他的钱变为 1010100+4910^{10^{100}} + 49 日元。

他无法使钱增加到 1010100+5010^{10^{100}} + 50 日元或更多,因此输出 49。

6 1000000000
4
5 30
2 10
4 25
2 15
0

通行费过高,因此最优策略是不从城镇 11 移动。

50 10
15
37 261
28 404
49 582
19 573
18 633
3 332
31 213
30 377
50 783
17 798
4 561
41 871
15 525
16 444
26 453
5000
50 1000000000
15
30 60541209756
48 49238708511
1 73787345006
24 47221018887
9 20218773368
34 40025202486
14 28286410866
24 82115648680
37 62913240066
14 92020110916
24 20965327730
32 67598565422
39 79828753874
40 52778306283
40 67894622518
606214471001

数据范围

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1C1091 \le C \le 10^9
  • 1M2×1051 \le M \le 2 \times 10^5
  • 1TiN1 \le T_i \le N (1iM)(1 \le i \le M)
  • 1Pi10131 \le P_i \le 10^{13} (1iM)(1 \le i \le M)
  • 输入中的所有值均为整数

提示

注意,输出值可能超过 3232 位整数的范围。

难度 省选/NOI-
通过率
尝试 0
已通过 0
ID
3297
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签