SP6767 SEQFUN - Sequence Function
题目描述
我们有一个定义为 $\{x\} = \{x_0, x_1, \ldots, x_{n-1}\}$ 的整数序列。
这个序列通过函数 $f: \{x\} \to \{x'\}$ 进行转换。函数执行以下操作:
1. 移除所有的 $0$:例如 $a 0 b 0 c d 0 e f 0 g$ 变为 $a b c d e f g$。
2. 将 $1$ 转换为 $100$,将 $-1$ 转换为 $-100$:例如 $a 1 b 1 -1 c d e f g$ 变为 $a 100 b 100 -100 c d e f g$。
3. 把所有的 $2^k (k > 1)$ 添加到序列末尾:例如 $a 2 b 8 c d e 1024 f g$ 变为 $a 2 b 8 c d e 1024 f g 2 8 1024$。
4. 对于任意的正奇素数 $x$,在序列末尾再添加 $x-1$ 个 $x$:例如 $a 3 b c 7 d e f 5 g$ 变为 $a 3 b c 7 d e f 5 g 3 3 7 7 7 7 7 7 5 5 5 5$。
5. 对于任意的正合数(不包括 $2^k, k > 1$),我们只保留一次 其出现:例如 $a 6 b 6 c d 6 e 4 4 f g$ 变为 $a 6 b c d e 4 4 f g$。
6. 对于所有 $t (t < -1)$,保持原样不变。
例如:
对于序列 $\{x\} = \{-5, 1, 0, 2, 9, 16, 7, 5, 3, 2, 9, 9, -1\}$
结果 $f(\{x\})$ 是 $\{-5, 100, 2, 9, 16, 7, 5, 3, 2, -100, 2, 2, 16, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 3, 3\}$。
定义 $g(\{x\})$ 为序列 $\{x\}$ 中所有元素的和。
然后定义 $h(\{x\}) = g(f(\{x\})) - g(\{x\})$。
一个序列的连续子序列是形如 $\{x_i, x_{i+1}, \ldots, x_j\}$ 的序列,其中 $0 \leq i \leq j < n$。
现在给定一个序列 $\{x\}$,你需要找出一个连续的子序列 $\{y\}$,使得 $h(\{y\})$ 最大。
输入格式
第一行是一个整数 $N$,表示序列 $\{x\}$ 的长度。($N \leq 10^5, |x_i| \leq 10000$)
接下来 $N$ 行,每行包含一个整数。
输出格式
输出一个整数,表示能够获得的最大值 $h(\{y\})$,其中 $\{y\}$ 是 $\{x\}$ 的一个连续子序列。($|h(\{y\})| \leq 2^{63}-1$)
**本翻译由 AI 自动生成**