题目描述
原题来自:SCOI 2010
最近 lxhgww 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。
通过一段时间的观察,lxhgww 预测到了未来
T
T 天内某只股票的走势,第
i
i 天的股票买入价为每股
AP_i
APi
,第
i
i 天的股票卖出价为每股
BP_i
BPi
(数据保证对于每个
i
i,都有
AP_i\ge BP_i
APi
≥BPi
),但是每天不能无限制地交易,于是股票交易所规定第
i
i 天的一次买入至多只能购买
AS_i
ASi
股,一次卖出至多只能卖出
BS_i
BS
i
股。
另外,股票交易所还制定了两个规定。为了避免大家疯狂交易,股票交易所规定在两次交易(某一天的买入或者卖出均算是一次交易)之间,至少要间隔
W
W 天,也就是说如果在第
i
i 天发生了交易,那么从第
i+1
i+1 天到第
i+W
i+W 天,均不能发生交易。同时,为了避免垄断,股票交易所还规定在任何时间,一个人的手里的股票数不能超过
\text{MaxP}
MaxP。
在第一天之前,lxhgww 手里有一大笔钱(可以认为钱的数目无限),但是没有任何股票,当然,
T
T 天以后,lxhgww 想要赚到最多的钱,聪明的程序员们,你们能帮助他吗?
输入
输入数据第一行包括三个整数,分别是
T,\text{MaxP},W
T,MaxP,W。
接下来
T
T 行,第
i
i 行代表第
i-1
i−1 天的股票走势,每行四个整数,分别表示
AP_i,BP_i,AS_i,BS_i
APi
,BPi
,ASi
,BSi
。
输出
输出数据为一行,包括一个数字,表示 lxhgww 能赚到的最多的钱数。
样例输入
5 2 0
2 1 1 1
2 1 1 1
3 2 1 1
4 3 1 1
5 4 1 1
样例输出
3
提示
数据范围与提示
对于
30\%
30% 的数据,
0\le W\lt T\le 50,1\le \text{MaxP}\le 50
0≤W对于
50\%
50% 的数据,
0\le W\lt T\le 2000,1\le \text{MaxP}\le 50
0≤W对于
100\%
100% 的数据,
0\le W\lt T\le 2000,1\le \text{MaxP}\le 2000,1\le BP_i\le AP_i\le 1000,1\le AS_i,BS_i\le \text{MaxP}
0≤W≤APi
≤1000,1≤ASi
,BSi
≤MaxP。
来源/分类
ybttg DP 单调队列