(再次)求助
查看原帖
(再次)求助
506649
昊轩啥也不是楼主2021/9/6 20:30

请问为什么就四十分啊?我觉得是代码没问题啊

因为我的朋友没用dp就过了,所以我也想试试,求大佬指点இ௰இ

#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;
	}
		for(i=1;i<=n;i++){
			hmbb+=a[i];
			j=i+1;
			while(j<=n){
				if(a[j]>a[j+1]&&a[j+1]<0){
					hmbb+=a[j];
					break;
				}
				hmbb+=a[j];
				j++;
			}
			if(hmbb>maxn) maxn=hmbb;
			hmbb=0;
		}
		cout<<maxn;
	return 0;
}
2021/9/6 20:30
加载中...