POJ-2479-Maximum sum
来源:互联网 发布:网络导流是什么意思 编辑:程序博客网 时间:2024/04/30 15:36
这个题要求求出一个序列里面的2个子区间的最大连续和,
思路:
分别以left[i],right[i]分别表示i左边和i后边的最大子区间和,然后进行遍历取最大值即可
代码:
#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=50001;int n,a[maxn],l[maxn],r[maxn];int main(){ int T; scanf("%d",&T); while(T--) {scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d",&a[i]);l[1]=a[1];for(int i=2;i<=n;i++) if(l[i-1]<0)l[i]=a[i]; elsel[i]=l[i-1]+a[i];for(int i=2;i<=n;i++) l[i]=max(l[i],l[i-1]);r[n]=a[n];for(int i=n-1;i>=1;i--) if(r[i+1]<0)r[i]=a[i]; elser[i]=r[i+1]+a[i];for(int i=n-1;i>=1;i--) r[i]=max(r[i],r[i+1]);int ans=-1<<29;for(int i=2;i<=n;i++) ans=max(ans,l[i-1]+r[i]);printf("%d\n",ans); } return 0;}
- poj 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj 2479 Maximum sum
- Poj 2479 Maximum sum
- POJ-2479-Maximum sum
- POJ 2479 Maximum sum
- poj 2479 Maximum sum
- poj 2479 Maximum sum
- poj 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj 2479 - Maximum sum
- POJ 2479 Maximum sum
- POJ 2479 Maximum sum
- poj-2479 Maximum sum
- fuse4x
- Git 本地管理
- [转]ubuntu LiveCD制作
- [转]MIPS GCC 嵌入式汇…
- [转]ubuntu LiveCD制作 …
- POJ-2479-Maximum sum
- [转]perl的INC设置
- [转] bootmem_init分析(Bootm…
- [转]Building MPICH2 on…
- 实在受不了新浪博客了。
- openOCD编译出错修正
- Linux 下如何增加一个可修改&…
- Linux 下网卡重命名
- 关于Pull解析