社区讨论

why?

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mju4svyl
此快照首次捕获于
2025/12/31 22:48
2 个月前
此快照最后确认于
2026/01/03 10:55
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct node{
	string name;
	int price;
	int value;
};
node a[100001];
int cmp(node x,node y){
	if(x.value!=y.value)return x.value<y.value;
	else if(x.price!=y.price)return x.price<y.price;
	else return x.name<y.name; 
} 
string s[100001];
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>a[i].name>>a[i].price>>a[i].value;
	} 
	sort(a+1,a+m+1,cmp);
	int o=0,sum=0,k=0;
	for(int i=1;i<=m;i++){
		if(a[i].price<n&&a[i].value!=o){
			n-=a[i].price;
			o=a[i].value;
			s[++k]=a[i].name;
		}
	}
	sort(s+1,s+k+1);
	cout<<s[1];
	for(int i=2;i<=m;i++){
		cout<<endl<<s[i];
	}
}

5分,考场零分,不清楚死因

回复

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

正在加载回复...