Content

你有一个长度为 \(n\) 的序列 \(a\)。你可以执行 \(n-1\) 次操作,每次操作中你可以选择一个位置 \(i\),并删除 \(a_i\) 和 \(a_{i+1}\),再在原位置上面插入 \(a_i+a_{i+1}\) 或者 \(a_i-a_{i+1}\)。求出恰好剩下的一个数的最大值。

数据范围:\(1\leqslant n\leqslant 10^5\),\(|a_i|\leqslant 10^9\)。

Solution

很标准的一道良心送分 A 题。

不难想到,由于要插入的值是左边的那个数的值加上或减去右边那个数的值,所以,我们将 \(a_2,\dots,a_n\) 这些数全部往 \(a_1\) 里面累积进去,具体地,如果 \(a_i(i\geqslant 2)\) 是负数,就往 \(a_1\) 加进去其相反数,否则就直接加进 \(a_1\)。

上面这句话归结成一个式子就是 \(a_1+\sum\limits_{i=2}^n |a_i|\)。

Code

namespace Solution {
int n, x;
ll ans; iv Main() {
read(n);
F(int, i, 1, n) read(x), ans += (i == 1 ? x : abs(x));
write(ans);
return;
}
}

最新文章

  1. Hadoop集群配置过程中需要注意的问题
  2. Node相关参考资料
  3. php数组函数
  4. 隐藏虚拟键盘,解决键盘挡住UITextField问题
  5. opencv 在工业中的应用:圆孔定位
  6. 第三章 jQuery中的DOM操作
  7. java学习面向对象之异常之二
  8. redgate
  9. SGU 242. Student's Morning( 网络流 )
  10. ALS交替最小二乘法总结
  11. Gym 101915
  12. webpack总结
  13. jsp下载文件
  14. spring batch中控制step的走向
  15. css权威指南学习笔记--列表与生成内容
  16. 组合数学及其应用——polya计数
  17. 算法笔记_117:算法集训之结果填空题集一(Java)
  18. 转 Merkle Tree(默克尔树)算法解析
  19. Matplot相关(一)
  20. oracle数据库修改编码

热门文章

  1. SpringBoot 动态代理实现三方接口调用
  2. Codeforces 547E - Mike and Friends(AC 自动机+树状数组)
  3. 洛谷 P7116 - [NOIP2020] 微信步数(拉格朗日插值)
  4. LOJ 3399 -「2020-2021 集训队作业」Communication Network(推式子+组合意义+树形 DP)
  5. Redis高并发处理常见问题及解决方案
  6. PHP 获取两个日期相差多少年,多少月,多少天,多少小时,并填充数组
  7. jQuery添加html绑定事件
  8. 8种Vue中数据更新了但页面没有更新的情况
  9. 第三个基础框架 — springMVC — 更新完毕
  10. Java8 Lambda表达式、函数式接口和方法引用