HDOJ1231(连续最大子序列+归并集)
2017-10-30 21:31
190 查看
#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <algorithm> #include <stack> #include <math.h> #include<iostream> #include <map> using namespace std; #define INF 0xfffff;//0x代表十六进制 #define M 10050 int a[M],b[M],mark[M]; //mark是并查集 int main() { int n; while (cin >> n,n) { int m = -9999, num; int f = 0; for (int i = 0; i < n; i++) { cin >> a[i]; if (a[i] >= 0) f = 1; b[i] = a[i]; mark[i] = i; } if (f) { for (int i = 0; i < n; i++) { if (a[i] + b[i - 1] > a[i]) { b[i] = a[i] + b[i - 1]; mark[i] = i - 1; } if (b[i] > m) { m = b[i]; num = i; } } if (m < 0) cout << 0; else cout << m; int i = num; while (mark[i] != i) { i = mark[i]; } cout << " " << a[i] << " " << a[num] << endl; } else cout << 0 << " " << a[0] << " " << a[n - 1] << endl; } return 0; }
相关文章推荐
- HDOJ 1231 ---最大连续字段和
- HDOJ4561 连续最大积
- HDOJ1231 最大连续子序列(dp)
- hdoj_1231&&hdoj_1003最大连续子序列
- HDOJ 1231 最大连续子序列
- [HDOJ1231]最大连续子序列
- 最大连续子序列 hdoj1231
- hdoj 1231 最大连续子序列 【DP】
- 最大连续子序列 (动态规划) hdoj 1231
- hdoj_1231&&hdoj_1003最大连续子序列
- HDOJ-----1231最大连续子序列
- HDOJ 5586 Sum (最大连续子串和)
- HDOJ 4561 连续最大积
- hdoj 1231 最大连续子序列
- hdoj Max Sum Plus Plus Plus 1244 (DP)m个连续段的最大和
- hdoj--1231--最大连续子序列
- HDOJ1003(最大连续子串)
- hdoj--1231--最大连续子序列
- HDOJ 1231 最大连续子序列
- HDOJ1231 - 最大连续子序列