#P11491. [BalticOI 2023] Tycho

    ID: 12865 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>2023O2优化BalticOI(波罗的海)

[BalticOI 2023] Tycho

题目描述

你在一条数轴上,初始(第 00 秒末)你的坐标是 00,你要移动到坐标为 bb 的点上。每一秒,你都可以选择向前移动一步(坐标 +1+1)或等待(坐标不变)。给定正整数 pp 和非负整数 dd,对于每个非负整数 k≥0k\ge 0,若第 kpkp 秒末,你的坐标不为 00,bb,也不为给定的 a1,a2,⋯ ,ana_1,a_2,\cdots,a_n 中的一个,则会产生 dd 的代价。你要最小化到达坐标为 bb 的点的时间和产生的代价之和。输出这个最小值。请注意数据满足 0<a1<⋯<an<b0<a_1< \dots <a_n < b。

输入格式

第一行四个非负整数 b,p,d,nb,p,d,n。

接下来 nn 行,第 ii 行一个正整数 aia_i。

输出格式

一行一个非负整数表示答案。

18 4 5 2
8
15
29
18 4 0 2
8
15
18
18 10 100 2
8
15
20
18 4 100 0
418
65 20 100 3
14
25
33
172

提示

【样例解释】

样例 #1 中,一种最优方案是先一直走到坐标为 1515 的点,等待 11 秒,再花 33 秒走到终点。总耗时 1919 秒,在第 44 秒末和第 1212 秒末各产生了 d=5d=5 的代价。答案为 19+2×5=2919+2\times5=29。

样例 #2 中,一种最优方案是直接走到终点,总耗时 1818 秒。因为 d=0d=0,不会产生代价,答案为 1818。

样例 #3 中,一种最优方案是在原点等待 22 秒再直接走到终点,总耗时 2020 秒,没有产生代价,答案为 2020。

【数据范围】

对于 100%100\% 的数据,1≤p<b≤10121\le p<b\le 10^{12},0≤d≤1060\le d\le 10^6,0≤n≤1050\le n\le 10^5,n<bn<b。

子任务编号 分值 特殊限制
11 88 p≤106p\le 10^6 且离开坐标为 00 的点后不需要等待[1]^{[1]}
22 55 b≤1 000b\le1\,000,p≤100p\le 100,n≤10n\le 10
33 77 b≤1 000b\le1\,000
44 1515 p≤106p\le 10^6,n≤1 000n\le 1\,000
55 2020 p≤100p\le 100
66 3535 p≤106p\le 10^6
77 1010 无特殊限制

[1][1]:离开坐标为 00 的点之前仍然可能需要等待。例如,样例 #2、样例 #3 和样例 #4 均符合子任务 11 的要求。