PAT甲級1007
3581 ワード
1007 Maximum Subsequence Sum(25点)
最大フィールドとレコードの開始終了位置
転載先:https://www.cnblogs.com/zuiaimiusi/p/10883541.html
最大フィールドとレコードの開始終了位置
1 #include
2 #include
3 #include<string.h>
4 #include
5 #include
6 #include
7 #include
8 #include
9 using namespace std;
10 int n,a[10005];
11 int main()
12 {
13 int ans,sum,start,endd,s,e;
14 cin>>n;
15 for(int i=1;i<=n;i++)
16 cin>>a[i];
17 ans=a[1],sum=a[1];
18 start=1,s=1;
19 endd=1,e=1;
20 int ss;
21 for(int i=2;i<=n;i++)
22 {
23 ss=sum;
24 sum+=a[i];
25 if(ss<0)//if(sum26 {
27 start=i;
28 sum=a[i];
29 }
30 if(sum>ans)
31 {
32 ans=sum;
33 s=start;
34 endd=i;
35 }
36 }
37 if(ans>=0)
38 cout<" "<" "<<a[endd];
39 else
40 cout<<0<<" "<1]<<" "<<a[n];
41 return 0;
42 }
転載先:https://www.cnblogs.com/zuiaimiusi/p/10883541.html