为什么我这道题这样错了
#include<bits/stdc++.h>
using namespace std;
int main(){
int maxn=-1000000,hmbb=0,n,a[200005],i,j,zs=0;
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
if(a[i]>zs) zs=a[i];
}
if(zs==0){
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(a[i]<a[j])
swap(a[i],a[j]);
}
}
cout<<a[1];
return 0;
}
else{
for(i=1;i<=n;i++){
hmbb+=a[i];
j=i+1;
while(j<=n){
if(a[j]>a[j+1]){
hmbb+=a[j];
break;
}
hmbb+=a[j];
j++;
}
if(hmbb>maxn) maxn=hmbb;
hmbb=0;
}
cout<<maxn;
}
return 0;
}
但这样就又对了啊
#include<bits/stdc++.h>
using namespace std;
int main(){
int maxn=-1000000,hmbb=0,n,a[200005],i,j,zs=0;
cin>>n;
for(i=1;i<=n;i++){
cin>>a[i];
if(a[i]>zs) zs=a[i];
}
if(zs==0){
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(a[i]<a[j])
swap(a[i],a[j]);
}
}
cout<<a[1];
return 0;
}
else{
for(i=1;i<=n;i++){
hmbb+=a[i];
if(hmbb<0)
hmbb=0;
if(hmbb>maxn)
maxn=hmbb;
}
cout<<maxn;
}
return 0;
}
萌新不懂,求大佬指点qwq