最大值和最小值相加后超过了w,那么最后在如何让他们相加呢
查看原帖
最大值和最小值相加后超过了w,那么最后在如何让他们相加呢
757572
aespa_karina楼主2022/7/28 22:42
#include<iostream>
using namespace std;
int main(){
	int w,n,p[20001],f;
	cin>>w>>n;
	for(int i=1;i<=n;i++){
		cin>>p[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=i+1;j<=n;j++)
		    if(p[i]<p[j]){
		    	swap(p[i],p[j]);
			}
	}
	for(int i=1;i<=n;i++){
		if(p[i]+p[n]<=w){
			n=n+1;
		}
		n--;
	}
	cout<<n;
	return 0;
}
2022/7/28 22:42
加载中...