测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A5592. 「一本通 5.5 练习 4」股票交易

编程题 提高+/省选-

题目描述

**原题来自:SCOI 2010**

最近 lxhgww 又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律。

通过一段时间的观察,lxhgww 预测到了未来 $T$ 天内某只股票的走势,第 $i$ 天的股票买入价为每股 $AP_i$,第 $i$ 天的股票卖出价为每股 $BP_i$(数据保证对于每个 $i$,都有 $AP_i\ge BP_i$),但是每天不能无限制地交易,于是股票交易所规定第 $i$ 天的一次买入至多只能购买 $AS_i$ 股,一次卖出至多只能卖出 $BS_i$ 股。

另外,股票交易所还制定了两个规定。为了避免大家疯狂交易,股票交易所规定在两次交易(某一天的买入或者卖出均算是一次交易)之间,至少要间隔 $W$ 天,也就是说如果在第 $i$ 天发生了交易,那么从第 $i+1$ 天到第 $i+W$ 天,均不能发生交易。同时,为了避免垄断,股票交易所还规定在任何时间,一个人的手里的股票数不能超过 $\text{MaxP}$。

在第一天之前,lxhgww 手里有一大笔钱(可以认为钱的数目无限),但是没有任何股票,当然,$T$ 天以后,lxhgww 想要赚到最多的钱,聪明的程序员们,你们能帮助他吗?

输入格式

输入数据第一行包括三个整数,分别是 $T,\text{MaxP},W$。

接下来 $T$ 行,第 $i$ 行代表第 $i-1$ 天的股票走势,每行四个整数,分别表示 $AP_i,BP_i,AS_i,BS_i$。

输出格式

输出数据为一行,包括一个数字,表示 lxhgww 能赚到的最多的钱数。

输入输出样例

输入 #1
5 2 0
2 1 1 1
2 1 1 1
3 2 1 1
4 3 1 1
5 4 1 1
输出 #1
3

说明/提示

对于 $30\%$ 的数据,$0\le W\lt T\le 50,1\le \text{MaxP}\le 50$;
对于 $50\%$ 的数据,$0\le W\lt T\le 2000,1\le \text{MaxP}\le 50$;
对于 $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}$。
上一题 去做题 下一题