P14040 [PAIO 2025] Exhibition
题目描述
你是一场著名艺术展览的策展人。你有 $N$ 幅画作,每幅画有两个属性:画作尺寸 $A_i$ 和艺术价值 $B_i$。你还有 $M$ 个可用的画框,每个画框有尺寸 $S_j$。
你希望选择并安排 $k$ 幅画作 $i_1, i_2, \dots, i_k$ 以及画框 $j_1, j_2, \dots, j_k$ 进行展示,要求满足:
- 每一幅选中的画作 $i_t$ 放在画框 $j_t$ 中,且画作尺寸不能大于画框尺寸:$A_{i_t} \le S_{j_t}$。
- 选中的画作尺寸按照展示顺序非递减排列:$A_{i_1} \le A_{i_2} \le \dots \le A_{i_k}$。
- 选中的画作艺术价值按照展示顺序非递减排列:$B_{i_1} \le B_{i_2} \le \dots \le B_{i_k}$。
请你求出能够满足上述条件的最大 $k$ 值。
### 实现细节
你需要实现如下函数:
```c
int32 max_paintings(int32 N, int32 M, int32[] A, int32[] B, int32[] S)
```
- $N$:画作数量
- $M$:画框数量
- $A$:长度为 $N$ 的数组,第 $i$ 个元素为第 $i$ 幅画作的尺寸
- $B$:长度为 $N$ 的数组,第 $i$ 个元素为第 $i$ 幅画作的艺术价值
- $S$:长度为 $M$ 的数组,第 $j$ 个元素为第 $j$ 个画框的尺寸
- 函数返回能够展示的最大的画作数量
输入格式
第一行:两个整数 $N$ 和 $M$
第二行:$N$ 个整数 $A_1, A_2, \dots, A_N$(画作尺寸)
第三行:$N$ 个整数 $B_1, B_2, \dots, B_N$(艺术价值)
第四行:$M$ 个整数 $S_1, S_2, \dots, S_M$(画框尺寸)
输出格式
输出一个整数,表示能够展示的最大画作数量。
说明/提示
### 样例
调用 `max_paintings(3, 3, [1, 2, 3], [1, 2, 4], [2, 3, 5])` 应返回 `3`。
- 有三幅画,尺寸为 $[1, 2, 3]$,艺术价值为 $[1, 2, 4]$。
- 有三个画框,尺寸为 $[2, 3, 5]$。
- 可以选全部三幅画:画作1(尺寸1,价值1)放在画框1(尺寸2),画作2(尺寸2,价值2)放在画框2(尺寸3),画作3(尺寸3,价值4)放在画框3(尺寸5)。
- 尺寸递增:$1 \le 2 \le 3$,艺术价值递增:$1 \le 2 \le 4$。
调用 `max_paintings(4, 3, [1, 3, 2, 4], [3, 2, 3, 5], [3, 6, 4])` 应返回 `3`。
- 有四幅画,尺寸为 $[1, 3, 2, 4]$,艺术价值为 $[3, 2, 3, 5]$。
- 有三个画框,尺寸为 $[3, 6, 4]$。
- 可以选择第1、3、4幅画:画作1(尺寸1,价值3)放在画框1(尺寸3),画作3(尺寸2,价值3)放在画框3(尺寸4),画作4(尺寸4,价值5)放在画框2(尺寸6)。
- 尺寸递增:$1 \le 2 \le 4$,艺术价值递增:$3 \le 3 \le 5$。
调用 `max_paintings(4, 3, [1, 3, 2, 4], [3, 2, 3, 5], [1, 1, 4])` 应返回 `2`。
- 有四幅画,尺寸为 $[1, 3, 2, 4]$,艺术价值为 $[3, 2, 3, 5]$。
- 有三个画框,尺寸为 $[1, 1, 4]$。
- 可以选择画作1(尺寸1,价值3)放在画框1或2(尺寸1),再选择画作4(尺寸4,价值5)放在画框3(尺寸4)。
- 尺寸递增:$1 \le 4$,艺术价值递增:$3 \le 5$。
### 测试器说明
样例测试器按照如下格式读取输入:
- 第1行:两个整数 $N$ 和 $M$
- 第2行:$N$ 个整数 $A_1, A_2, \dots, A_N$(画作尺寸)
- 第3行:$N$ 个整数 $B_1, B_2, \dots, B_N$(艺术价值)
- 第4行:$M$ 个整数 $S_1, S_2, \dots, S_M$(画框尺寸)
测试器会调用 `max_paintings(N, M, A, B, S)` 并输出返回值。
注意:本问题所附的样例测试器仅用于本地测试,正式测评环境可能与之不同。
### 数据范围
- $1 \le N, M \le 10^5$
- $1 \le A_i, B_i, S_j \le 10^9$
### 评分
- 子任务 1(10 分):$N, M \le 10$
- 子任务 2(20 分):所有画框尺寸都大于所有画作尺寸(对任意 $i,j$,有 $S_j > A_i$)
- 子任务 3(20 分):所有艺术价值相等(任意 $i,j$ 有 $B_i = B_j$)
- 子任务 4(20 分):$N, M < 2000$
- 子任务 5(30 分):无额外限制
由 ChatGPT 5 翻译