2 条题解

  • 0
    @ 2026-8-27 11:01:18
    # include <bits/stdc++.h>
    
    using namespace std;
    const int N=1e3+5;
    struct node{
    	int v,p;string s;
    	bool operator<(const node&a)const{
    		if(v!=a.v)return a.v>v;
    		if(p!=a.p)return a.p>p;
    		return a.s>s;
    	}
    }a[N];
    int n,m;set<string>q;
    int main(){
    	cin>>m>>n;
    	for(int i = 1;i<=n;i++)
    		cin>>a[i].s>>a[i].p>>a[i].v;
    	sort(a+1,a+n+1);
    	int i = 0;
    	while(++i<=n){
    		if(m-a[i].p>=0){
    			q.insert(a[i].s);
    			m-=a[i].p;
    		}
    	}
    	for(auto i : q)
    		cout<<i<<'\n';
    	return 0;
    }
    

    信息

    ID
    3429
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    34
    已通过
    15
    上传者