阅读 (reading.cpp/c/pas)

阅读 (reading.cpp/c/pas)

【问题描述】
fateice喜欢阅读,现在他准备读一本书,他会从第K页开始看,然后看到第M页。书中的内容不一定都让fateice有所收获,因为fateice太强。更具体地,书中有N页能让fateice有所收获,阅读第 页可以获得 的收获值。
由于书的页数太多,fateice会选择跳着看,但是他一次最多跳D页(两页页码差不大于D),然后阅读跳到的那一页内容,每次翻页他将会丧失A的收获值。
fateice想在阅读这本书前就知道他能获得的最大收获值之和。

【输入格式】
第一行五个非负整数 K,M,D,A,N。
接下来N行每行两个正整数 , 。

【输出格式】
仅一行一个数字,表示能获得的最大收获值之和。

reading.in

0 10 4 10 2
3 10

8 5
reading.out
-20
【输入输出样例】
从第0页开始,跳到第3页并阅读,丧失10收获值,再得到10收获值。跳到第7页再跳到第10页,丧失20收获值。最终-10收获值为最优策略。

【数据规模】
对于20%的数据,N≤1000。
对于另外30%的数据,D≤100。
对于100%的数据,1≤N≤ ,1≤ ,A,D≤ ,0≤K<M≤ , 单调递增。

信息

难度
9
分类
(无)
标签
递交数
3
已通过
1
通过率
33%
被复制
1
上传者