求助求助
查看原帖
求助求助
506649
昊轩啥也不是楼主2021/9/6 13:02

为什么我这道题这样错了

#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

2021/9/6 13:02
加载中...