e网科技网站,动态个人网页制作html教程,大型 交友 网站 建设 公司,唐山公司网站制作题意#xff1a;给一段数列#xff0c;将这个数列分成两部分#xff0c;使两部分的最大子段和的和最大#xff0c;输出和/*看数据没想到是(O)n的算法#xff0c;求出从前向后的最大子段和和从后向前的最大子段和#xff0c;然后枚举断点。 第一次提交不小心折在数组最小值…题意给一段数列将这个数列分成两部分使两部分的最大子段和的和最大输出和 /*看数据没想到是(O)n的算法求出从前向后的最大子段和和从后向前的最大子段和然后枚举断点。 第一次提交不小心折在数组最小值的赋值上……
*/
#includecstdio
#includeiostream
#includecstring
#define M 50010
#define INF 1000000000
using namespace std;
int a[M],f1[M],f2[M],v1[M],v2[M],n;
int main()
{int T;scanf(%d,T);while(T--){memset(f1,466,sizeof(f1));memset(f2,466,sizeof(f2));memset(v1,466,sizeof(v1));memset(v2,466,sizeof(v2));scanf(%d,n);for(int i1;in;i)scanf(%d,a[i]);for(int i1;in;i)f1[i]max(f1[i-1]a[i],a[i]),v1[i]max(f1[i],v1[i-1]);for(int in;i1;i--)f2[i]max(f2[i1]a[i],a[i]),v2[i]max(f2[i],v2[i1]);int ans-INF;for(int i1;in;i)ansmax(ans,v1[i]v2[i1]);printf(%d\n,ans);}return 0;
} View Code 转载于:https://www.cnblogs.com/harden/p/5934678.html