CDOJ-2016-B-柱爷与最大区间和
来源:互联网 发布:广东干部网络课程技巧 编辑:程序博客网 时间:2024/06/16 10:03
柱爷爱思考,凡事喜欢举一反三,常常能想到别人没想过的问题。
比如最大区间和这个问题:在一数列上选出一段区间,使得这段区间和最大。
柱爷想:如果选出两段区间(不相邻)会怎样呢?
柱爷很快想到了答案,你呢?
Input
第一行输入一个数N,表示数组的长度。
第二行输入N个数,表示各元素的值。
数据保证:
3≤N≤500000
−100
#include <stdio.h>#define MAX(a, b) a > b ? a : b#define MAXSIZE 500005#define INF 0x3f3f3f3fint main(int argc, const char * argv[]){ int i; int N; int A[MAXSIZE]; int sumA, sumB, sumBB; //正序/逆序 int ans; int B[MAXSIZE] = {0}; while (~scanf("%d", &N)) { ans = sumA = sumB = sumBB = -INF; for (i = 1; i <= N; i++) { scanf("%d", A + i); } B[N + 1] = -INF; for (i = N; i > 2; i--) { sumA = sumA > 0 ? sumA + A[i] : A[i]; B[i] = MAX(B[i + 1], sumA); } for (i = 1; i < N - 1; i++) { sumB = sumB > 0 ? sumB + A[i] : A[i]; sumBB = sumB > sumBB ? sumB : sumBB; if (sumBB + B[i + 2] > ans) { ans = sumBB + B[i + 2]; //中间隔着i + 1 } } printf("%d\n", ans); } return 0;}
0 0
- CDOJ-2016-B-柱爷与最大区间和
- cdoj柱爷与最大区间和
- 【cdoj 1357】柱爷与最大区间和
- 【CDOJ 1357】柱爷与最大区间和
- CDOJ 1357 柱爷与最大区间和(dp+滚动数组)
- 2016 UESTC Training for Dynamic Programming B - 柱爷与最大区间和 最大区间和推广、前缀和、枚举间隔点
- CDOJ1357--柱爷与最大区间和
- CDOJ 844 线段树区间最大连续和
- CDOJ-2016-A-柱爷与咸鱼神功
- (CDOJ 844 线段树区间最大连续和 )<线段树的各种姿势>
- CDOJ 1321柱爷的恋爱 (区间dp)
- 【CDOJ】柱爷与咸鱼神功
- 【线段树-区间更新求区间和】CDOJ 1057
- CDOJ--卿学姐与基本法(线段树+离散化+区间查询)
- CDOJ 1325 卿学姐与基本法 (离散化+区间修改)
- 【cdoj 1321】柱爷的恋爱 区间dp记忆化搜索
- 2016 UESTC Training for Data Structures B - 卿学姐与基本法 CDOJ 1325 线段树+离散化
- cdoj 1131 区间dp
- java里面finally的问题
- ubuntu 16.04 启动进入命令行的解决方案 ubuntu 16.04 boot into text mode
- HDU 1862 EXCEL排序(结构体排序)
- javase基础面试题
- JAVA JVM类加载
- CDOJ-2016-B-柱爷与最大区间和
- JAVA NIO 学习总结
- c++关键字之:volatile
- LeetCode 312. Burst Balloons
- 易經大意 221_240
- 162 mysql Access denied for user 'root'@'localhost'
- -bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory
- python自定义模块导入方法
- mysql 5.6.30安装配置