0
已解决
史亚东
新手守护
新手守护
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int a[100005],f[100005];
int main(){
int n,ans=-0x7fffffff;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
a[n+i]=a[i];
}
for(int i=1;i<n*2;i++){
memset(f,0,sizeof(f));
for(int j=i;j<=n+i-1;j++){
f[j]=max(f[j-1]+a[j],a[j]);
ans=max(ans,f[j]);
}
}
cout<<ans;
return 0;
}
代码90分,求大佬帮忙!!!
0
0
0
史亚东
新手守护
新手守护
0
史亚东
新手守护
新手守护
4230 环形数组最大和经验值:1200
题目描述 Description
给出一个环形的数组a,试求出这个数组的最大连续子数组和。
输入描述 Input Description
第一行,一个整数n
第二行,n个由空格隔开的整数
输出描述 Output Description
能得到的最大连续子数组和
样例输入 Sample Input
【样例输入1】 4 1 -2 3 -2 【样例输入2】 3 5 -3 5 【样例输入3】 3 -1 -2 -3
样例输出 Sample Output
【样例输出1】 3 【样例输出2】 10 【样例输出3】 -1
数据范围及提示 Data Size & Hint
n≤1000
-1000≤a[i]≤1000
重发一下,没发好
0