给定一个代表商品价格的数组和一个代表拥有现金的整数,求出现金最多能购买多少种商品:
#include<iostream>
#include<algorithm>
#include<vector>
#include<sstream>
using namespace std;
int maxKind(vector<int>arr,int money){
    int res;
    sort(arr.begin(),arr.end());
    for(int i=0;i<arr.size();i++){
        if(money<arr[i]){
            return i;
        }
        money=money-arr[i];
    }
    return arr.size();  
}
int main(){
int n;
cin>>n;
vector<int>arr;
while(n--){
    int a;
    cin>>a;
    arr.push_back(a);
}
int money;
cin>>money;
cout<<maxKind(arr,money);
}原文:https://www.cnblogs.com/qiuhaifeng/p/11494422.html