玄关79tps
查看原帖
玄关79tps
1144555
gdfz02sjy楼主2024/10/23 17:51
#include<bits/stdc++.h>
using namespace std;
unsigned long long a,b,c,d,xm[20];//创建数组
unsigned long long heavy,sum;//求出缆车体积和总共需要的缆车数量 
bool cat[20];//判断小猫还在不在 
bool bl;//判断在查找最合适的值的时候有没有更改数字,没有就是没必要查了,直接退出 
int main(){
	cin>>a>>heavy;
	b=a;//记录小猫还剩多少 
	for(int i=0;i<a;i++)cin>>xm[i];
	sort(xm,xm+a);//从小到大排序,保证前面的小猫永远是最轻的 
	while(b>0){
		sum++;//钱+1
		for(int i=a-1;i>=0;i--){
			//开始查找
			if(xm[i]+c<=heavy&&cat[i]==false){
				b--;//小猫-1 
				cat[i]=true;//小猫不能坐两遍缆车 
				c+=xm[i];
				cout<<xm[i]<<' '; 
			} 
		}
		cout<<endl;
		c=0;//初始化 
	} 
	cout<<sum;
	return 0;
}

#7#11#12过不了

2024/10/23 17:51
加载中...