2 条题解

  • -1
    @ 2024-6-8 16:36:59
    #include<iostream>
    #include<algorithm>
    using namespace std;
    struct area{
        int spice;
        int cost;
    };
    bool cmp(area a,area b){
        return a.cost<b.cost;
    }
    area a[100010];
    int main(){
        int n,p;
        cin>>n>>p;
        int sp_sum=0;
        int cnt=1;
        for(int i=1;i<=n;i++){
            cin>>a[i].spice>>a[i].cost;
            if(i==p){
                sp_sum+=a[i].spice;
                a[i].cost=100000;
            }
        }
        sort(a+1,a+n+1,cmp);
        for(int i=1;i<=n;i++){
            if(sp_sum>=a[i].cost && a[i].spice>=a[i].cost){
                sp_sum+=a[i].spice-a[i].cost;
                cnt++;
            }
        }
        cout<<sp_sum<<endl;
        cout<<cnt<<endl;
    }
    

信息

ID
729
时间
1000ms
内存
256MiB
难度
7
标签
(无)
递交数
183
已通过
37
上传者