为什么贪心不行?
查看原帖
为什么贪心不行?
1108048
NPST楼主2024/4/11 16:35

每次只取单位时间内价值最大的药!

#include<bits/stdc++.h>
using namespace std;
int T,M;
pair<int,int> tmp;
vector<pair<int,int>>  med;
bool cmp(pair<int,int> a, pair<int,int> b){
    return a.second/a.first>b.second/b.first;
}
int main(){
    cin>>T>>M;
    for(int i=0;i<M;i++){
        cin>>tmp.first>>tmp.second;
        med.push_back(tmp);
    }
   
    sort(med.begin(),med.end(),cmp);
    int res=0;
    for(int i=0;i<M;i++){
       if(T>0&&med[i].first<=T){
        res+=med[i].second;
        T-=med[i].first;
       }
    }
    cout<<res<<endl;
    return 0;
}
2024/4/11 16:35
加载中...