#RZX5359. 仓储交易(space)

仓储交易(space)

Problem Description

跨境仓储套利

题目描述

小伟是一家跨境物流公司的调度员。公司的中转仓将连续运营 TT 天,期间共有 NN 种货物在仓中流转。第 ii 天,第 jj 种货物的到岸价与离岸价都是 Pi,jP_{i,j} 枚金币:第 ii 天收购一份该货物要花掉 Pi,jP_{i,j} 枚金币,第 ii 天把一份该货物发运出仓可以换回 Pi,jP_{i,j} 枚金币。

在第 ii 天,小伟可以进行以下两种操作任意多次:

  1. 任选一种货物,若账上金币足够,以第 ii 天的价格收购一份该货物入仓;
  2. 把仓中持有的任意一份货物发运出仓,以第 ii 天的价格换回金币。

同一天内,发运换回的金币可以立即用于收购,刚入仓的货物也可以当天发运出仓。当然,把货物压在仓里等到后面的某一天再发运也是允许的。

第 TT 天收盘后中转仓关闭,届时仓中不允许留下任何货物,未发运的货物只能按第 TT 天的价格全部折现。

小伟现在账上有 MM 枚金币。请你求出:中转仓关闭、全部货物折现之后,他最多能拥有多少金币。

输入格式

从文件 space.in 读入。

第一行包含三个正整数 T,N,MT, N, M,相邻两数之间以一个空格分开,分别代表中转仓运营的天数 TT,货物的种数 NN,小伟现在拥有的金币数量 MM。

接下来 TT 行,每行包含 NN 个正整数,相邻两数之间以一个空格分隔。第 ii 行的 NN 个正整数分别为 Pi,1,Pi,2,…,Pi,NP_{i,1}, P_{i,2}, \dots, P_{i,N},其中 Pi,jP_{i,j} 表示第 ii 天第 jj 种货物的价格。

输出格式

输出到文件 space.out。

输出仅一行,包含一个正整数,表示中转仓关闭后小伟最多能拥有的金币数量。

输入输出与文件要求

本题为文件输入输出(IO 赛制),必须使用 freopen 重定向,不能只使用标准输入输出。 请在 main 函数开头写上:

freopen("space.in", "r", stdin);    // 文件输入
freopen("space.out", "w", stdout);  // 文件输出

完整的 main 框架如下:

#include <bits/stdc++.h>
using namespace std;

int main() {
    freopen("space.in", "r", stdin);    // 文件输入
    freopen("space.out", "w", stdout);  // 文件输出

    // ... 你的代码 ...

    fclose(stdin);
    fclose(stdout);
    return 0;
}

样例

样例 1

输入

6 1 100
50
20
25
20
25
50

输出

305

样例 2

输入

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

输出

217

提示

样例 1 说明

最佳策略是:

第二天花光所有 100100 枚金币收购 55 份货物 11 入仓;

第三天把 55 份货物 11 发运出仓,换回金币 125125 枚;

第四天收购 66 份货物 11,剩余 55 枚金币;

第六天必须把仓中货物全部折现,换回 300300 枚金币,加上第四天剩余 55 枚金币,共 305305 枚金币。

中转仓关闭后,小伟最多拥有 305305 枚金币。

样例 2 说明

最佳策略是:

第一天花光所有金币收购 1010 份货物 11 入仓;

第二天把全部货物 11 发运出仓得到 150150 枚金币,并收购 88 份货物 22 和 11 份货物 33,剩余 11 枚金币;

第三天必须把仓中货物全部折现,换回 216216 枚金币,加上第二天剩余 11 枚金币,共 217217 枚金币。

中转仓关闭后,小伟最多拥有 217217 枚金币。

数据规模与约定

对于 10%10\% 的数据,T=1T = 1。

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

另有 15%15\% 的数据,T≤100,N=1T \le 100, N = 1。

另有 15%15\% 的数据,T=2,N≤100T = 2, N \le 100。

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

评测方式

本题使用文件输入输出:评测时会把测试数据放到程序运行目录下的 space.in,并读取程序生成的 space.out。请确认你的程序在没有任何标准输入的情况下也能正确运行。