51 nod 1050 循环数组最大字段和

Posted fjqfjq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51 nod 1050 循环数组最大字段和相关的知识,希望对你有一定的参考价值。

技术分享图片
 1 #include <iostream>
 2 using namespace std;
 3 #define ll long long 
 4 
 5 int main()
 6 {
 7     long long n;
 8     cin>>n;
 9     ll x;
10     long long sum=0;
11     long long sum1=0;
12     long long sum2=0;
13     long long maxn1=0;
14     long long maxn2=0;
15     for(long long i=1;i<=n;i++){
16         cin>>x;
17         sum+=x;
18         sum1+=x;
19         x=-x;
20         sum2+=x;
21         if(sum1<=0) sum1=0;
22         maxn1=max(maxn1,sum1);
23         if(sum2<=0) sum2=0;
24         maxn2=max(maxn2,sum2);
25     }
26     cout<<max(maxn1,sum+maxn2)<<endl;
27     return 0;
28 }
View Code

 

以上是关于51 nod 1050 循环数组最大字段和的主要内容,如果未能解决你的问题,请参考以下文章

51Nod1050 循环数组最大子段和

51Nod 1050 循环数组最大子段和 | DP

51Nod 1050 循环数组最大子段和 dp

51nod 1050 循环数组最大子段和

51nod 1050 循环数组最大子段和

51nod 1050 循环数组最大子段和环形DP/最大子段和/正难则反