1 条题解

  • 1
    @ 2026-8-21 18:06:06
    #include<bits/stdc++.h>
    using namespace std;
    struct shop{
        string s;
        int p;
        int v;
    };
    shop a[5005];
    int cmp(shop a,shop b){
    	if (a.v!=b.v) return a.v<b.v;
        if (a.p!=b.p) return a.p<b.p;
        return a.s<b.s;
    }
    int main(){
        int n,m;
        cin>>m>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i].s>>a[i].p>>a[i].v;
        }
        sort(a,a+n+1,cmp);
        string s[1005];
        int j=0;
        for(int i=1;i<=n;i++){
            if(a[i].p<=m){
            	s[++j]=a[i].s;
            	m-=a[i].p;
    		}
        }
        sort(s,s+j+1);
        for(int i=1;i<=j;i++){
        	cout<<s[i]<<endl; 
    	}
    	return 0;
    }
    //包AC!!!
    

    信息

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