2 条题解

  • 0
    @ 2025-12-1 17:32:24

    copy↓

    #include<bits/stdc++.h>
    using namespace std;
    struct mi{
        int price,num;
    }a[99999999];
    bool cmp(mi x,mi y){
        return x.price<y.price;
    }
    int main(){
        int sum,n,i,tot=0,cost=0;
        cin>>sum>>n;
        for(i=0;i<n;i++){
            cin>>a[i].price>>a[i].num;
        }
        sort(a,a+n,cmp);
        for(i=0;i<n;i++){
            if(sum<a[i].num) a[i].num=sum;
            cost+=a[i].price*a[i].num;
            sum-=a[i].num;
            if(sum==0) break;
        }
        cout<<cost;
    }
    

    信息

    ID
    207
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    1
    已通过
    1
    上传者