D. 纪念品souvenir【CSPJ-2019-T3】

内存限制:256 MiB 时间限制:1000 ms 输入文件: souvenir.in 输出文件: souvenir.out
题目类型:传统 评测方式:文本比较

题目描述

小伟突然获得一种超能力,他知道未来 T 天 N 种纪念品每天的价格。某个纪念品的价格是指购买一个该纪念品所需的金币数量,以及卖出一个该纪念品换回的金币数量。

每天,小伟可以进行以下两种交易无限次:

1.任选一个纪念品,若手上有足够金币,以当日价格购买该纪念品;

2.卖出持有的任意一个纪念品,以当日价格换回金币。

每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。当然,一直持有纪念品也是可以的。

T 天之后,小伟的超能力消失。因此他一定会在第 T 天卖出所有纪念品换回金币。

小伟现在有 M 枚金币,他想要在超能力消失后拥有尽可能多的金币。

输入格式

第一行包含三个正整数 T, N, M,相邻两数之间以一个空格分开,分别代表未来天数 T,纪念品数量 N,小伟现在拥有的金币数量 M。

接下来 T 行,每行包含 N 个正整数,相邻两数之间以一个空格分隔。第 i 行的 N 个正整数分别为 P_{i,1},P_{i,2},……,P_{i,N} ,其中 P_{i,j} 表示第 i 天第 j 种纪念品的价格。

输出格式

输出仅一行,包含一个正整数,表示小伟在超能力消失后最多能拥有的金币数量。

样例

样例输入1

6 1 100
50
20
25
20
25
50

样例输出1

305

样例解释1

最佳策略是:

第二天花光所有 100 枚金币买入 5 个纪念品 1;

第三天卖出 5 个纪念品 1,获得金币 125 枚;

第四天买入 6 个纪念品 1,剩余 5 枚金币;

第六天必须卖出所有纪念品换回 300 枚金币,第四天剩余 5 枚金币,共 305 枚金币。

超能力消失后,小伟最多拥有 305 枚金币。

样例输入2

3 3 100
10 20 15
15 17 13
15 25 16

样例输出2

217

样例解释2

最佳策略是:

第一天花光所有金币买入 10 个纪念品 1;

第二天卖出全部纪念品 1 得到 150 枚金币并买入 8 个纪念品 2 和 1 个纪念品 3,剩余 1 枚金币;

第三天必须卖出所有纪念品换回216 枚金币,第二天剩余1枚金币,共 217 枚金币。

超能力消失后,小伟最多拥有 217 枚金币。

数据范围与提示

对于 10% 的数据, T = 1

对于 30% 的数据, T \leq 4, N \leq 4, M \leq 100 ,所有价格 10 \leq P_{i,j} \leq 100

另有 15% 的数据, T \leq 100, N = 1

另有 15% 的数据, T = 2, N \leq 100

对于 100% 的数据, T \leq 100, N \leq 100, M \leq 10^3 ,所有价格 1 \leq P_{i,j} \leq 10^4 ,数据保证任意时刻,小明手上的金币数不可能超过 10^4

CSP-J 2019第3题

请使用文件输入输出:

freopen("souvenir.in", "r", stdin);
freopen("souvenir.out", "w", stdout);