[Kubic] Addition
题目背景
建议先看 B 题题目背景。
题目描述
有一个初始长度为 n n n 的序列 a a a。你需要进行 n − 1 n-1 n−1 次操作。每一次操作先在当前序列中选出两个相邻的数 x , y x,y x,y 并删除(原序列中 x x x 在 y y y 左边),再往原位置插入一个 x + y x+y x+y 或一个 x − y x-y x−y。 n − 1 n-1 n−1 次操作之后最终只会剩下恰好一个数,求这个剩下的数的最大值。
输入格式
第一行,一个整数 n n n。
第二行,共 n n n 个整数 i i i 个表示 a i a_i ai。
输出格式
共一行,一个整数,表示答案。
样例 #1
样例输入 #1
5
-1 1 1 -1 1
样例输出 #1
3
提示
对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 5 , ∣ a i ∣ ≤ 1 0 9 1\le n\le 10^5,|a_i|\le 10^9 1≤n≤105,∣ai∣≤109。
分值 | n n n | ∣ a i ∣ \vert a_i\vert ∣ai∣ | 特殊性质 | |
---|---|---|---|---|
Subtask 1 \operatorname{Subtask}1 Subtask1 | 10 10 10 | ≤ 2 \le 2 ≤2 | 无特殊限制 | 无 |
Subtask 2 \operatorname{Subtask}2 Subtask2 | 20 20 20 | ≤ 100 \le 100 ≤100 | 无特殊限制 | 无 |
Subtask 3 \operatorname{Subtask}3 Subtask3 | 5 5 5 | 无特殊限制 | 无特殊限制 | a i ≥ 0 a_i\ge 0 ai≥0 |
Subtask 4 \operatorname{Subtask}4 Subtask4 | 30 30 30 | 无特殊限制 | ≤ 1 \le 1 ≤1 | 无 |
Subtask 5 \operatorname{Subtask}5 Subtask5 | 35 35 35 | 无特殊限制 | 无特殊限制 | 无 |
样例解释
一种操作过程如下:
-1 1 1 -1 1
-1 1 1 -2
-1 1 3
-1 4
3
可以证明没有更优的方案。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容