编程题
### 题目描述 给定 $n$ 个小球,每个小球包含颜色、价值和高度这三种属性。我们可以使用数组 $a$ 来描述每个小球,其中 $a_i = (c_i, v_i, h_i)$ 表示第 $i$ 个小球的颜色、价值和高度。数组 $a$ 的长度为 $n$。 现在,你需要从数组 $a$ 中选择一个子序列 $a'$,使得 $a’$ 中的小球按照它们在数组 $a$ 中出现的顺序排列,并且满足以下条件: - $a'$ 中相邻小球的颜色不同,即 $a_i'$ 的颜色为 $0$ 当且仅当 $a'_{i-1}$ 的颜色为 $1$,反之亦然。 - $a'$ 中相邻小球的高度单调不递减。 请你找到满足这些条件的子序列 $a'$,使得其包含的小球的价值之和最大,并输出这个最大价值。 ### 输入格式 输入共四行。 第一行输入一个整数 $n$( $1 \leq n \leq 2 \times 10^5$),表示小球数量。 第二行输入 $n$ 个整数 $c_1,c_2,\cdots,c_n$( $0 \leq c_i \leq 1$),分别表示每个小球的颜色。 第三行输入 $n$ 个整数 $v_1,v_2,\cdots,v_n$( $-10^9 \leq v_i \leq 10^9$),分别表示每个小球的价值。 第四行输入 $n$ 个整数 $h_1,h_2,\cdots,h_n$( $1 \leq h_i \leq 2\times 10^5$),分别表示每个小球的高度。 ### 输出格式 输出仅一行,包含一个整数,表示最大价值。 ### 样例输入 ``` 5 0 1 0 1 0 3 -2 3 4 5 1 2 3 4 5 ``` ### 样例输出 ``` 13 ```
查看答案
赣ICP备20007335号-2