51nod oj 1050 循环数组最大子段和 【DP】

来源:互联网 发布:淘宝客独家是什么意思 编辑:程序博客网 时间:2024/05/19 19:14


题目链接:1050


最大正子段和----与总和-最小负字段和------的最大值


代码:

#include<cstdio>#include<algorithm>using namespace std;int shu[110000];int main(){int n;scanf("%d",&n);long long sum,s=0,ss,ans;for (int i=0;i<n;i++){scanf("%d",&shu[i]);s+=shu[i];}ans=0,sum=0;ss=0;for (int i=0;i<n;i++){if (sum<0)sum=shu[i];elsesum+=shu[i];ss=max(ss,sum);}sum=0;for (int i=0;i<n;i++){if (sum>0)sum=shu[i];elsesum+=shu[i];ans=min(ans,sum);}ans=s-ans;ans=max(ans,ss);printf("%lld\n",ans);return 0;}


0 0
原创粉丝点击