Maximum sum
来源:互联网 发布:卖家怎么加入爱淘宝 编辑:程序博客网 时间:2024/06/06 01:01
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- Given a set of n integers: A={a1, a2,..., an}, we define a function d(A) as below:
t1 t2 d(A) = max{ ∑ai + ∑aj | 1 <= s1 <= t1 < s2 <= t2 <= n } i=s1 j=s2
Your task is to calculate d(A). - 输入
- The input consists of T(<=30) test cases. The number of test cases (T) is given in the first line of the input.
Each test case contains two lines. The first line is an integer n(2<=n<=50000). The second line contains n integers: a1, a2, ..., an. (|ai| <= 10000).There is an empty line after each case. - 输出
- Print exactly one line for each test case. The line should contain the integer d(A).
- 样例输入
1101 -1 2 2 3 -3 4 -4 5 -5
- 样例输出
13
- 提示
- In the sample, we choose {2,2,3,-3,4} and {5}, then we can get the answer.
Huge input,scanf is recommended. - 来源
POJ Contest,Author:Mathematica@ZSU
求两个子序和使之和最大,f1[i]表示前向计算到达i点时子序列最大值,f2[i]表示后向前计算到达i点时子序列最大值,最后再统计相邻两节点的和f1+f2
#include <bits/stdc++.h>using namespace std;int a[50005];int f1[50005], f2[50005];int n, T;int main(){ cin >> T; while(T--) { cin >> n; memset(f1, 0, sizeof(f1)); memset(f2, 0, sizeof(f2)); for(int i = 0; i < n; i++) cin >> a[i]; int maxn = a[0]; int sum = 0; for(int i = 0; i < n; i++) { sum += a[i]; if(sum > maxn) maxn = sum; if(sum < 0) sum = 0; f1[i] = maxn; } sum = 0; maxn = a[n-1]; for(int i = n-1; i >= 0; i--) { sum += a[i]; if(sum > maxn) maxn = sum; if(sum < 0) sum = 0; f2[i] = maxn; } int ans = -0x7fffffff; for(int i = 0; i < n-1; i++) ans = max(ans, f1[i]+f2[i+1]); cout << ans << endl; } return 0;}
阅读全文
0 0
- Maximum Sum
- Maximum Sum
- Maximum sum
- Maximum sum
- Maximum Sum
- Maximum sum
- Maximum sum
- Maximum sum
- Maximum sum
- PKU 2479 Maximum sum
- POJ2479 Maximum sum
- 1091. Maximum Sum
- poj 2479 Maximum sum
- 【動態規劃】Maximum sum
- A Maximum sum&&北邮月赛题
- POJ2479 Maximum sum
- Maximum Subsequence Sum
- 108Maximum Sum
- 微信公众号开发(Java) ---- 模板消息接口的使用
- BZOJ 1202: [HNOI2005]狡猾的商人 并查集
- oracle用户默认表空间
- 小程序获取用户信息
- Git使用和原理浅析
- Maximum sum
- 1023. 组个最小数 (20)
- mac终端命令大全介绍
- MyEclipse Debug快捷键的使用
- C#之file类的操作和使用
- wrf模式数据变量说明
- URI URL URN
- 生成斐波拉契数列
- mybatis9.27