社区讨论

谁帮忙救一下

B4452[GESP202512 四级] 优先购买参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mlojncf0
此快照首次捕获于
2026/02/16 10:17
3 天前
此快照最后确认于
2026/02/16 23:56
3 天前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct node{
	string name;
	int m,z;
} a[1001];
bool cmp(node a,node b){
	if(a.z==b.z){
		if(a.m==b.m){
			return a.name>b.name;
		}else return a.m<b.m;
	}else return a.z<b.z;
}
string s[1001];
int main(){
	int n,m,xb=0;
	cin>>m>>n;
	for(int i=0;i<n;i++){
		cin>>a[i].name>>a[i].m>>a[i].z;
	} 
	sort(a,a+n,cmp);
	for(int i=0;i<n;i++){
		if(m>=a[i].m){
			s[xb]=a[i].name;
			m-=a[i].m;
			xb++;	
		}else continue;
	}
	sort(s,s+xb);
	for(int i=0;i<=xb;i++){
		cout<<s[i]<<'\n';
	}
	return 0;
}


回复

2 条回复,欢迎继续交流。

正在加载回复...