下面是一个符合题目要求的C++代码:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    int N;
    std::cin >> N;
    
    std::vector<int> prices(N);
    for (int i = 0; i < N; i++) {
        std::cin >> prices[i];
    }
    
    int X;
    std::cin >> X;
    
    std::sort(prices.begin(), prices.end());
    
    int count = 0;
    for (int i = 0; i < N; i++) {
        if (X >= prices[i]) {
            X -= prices[i];
            count++;
        }
    }
    
    std::cout << count << std::endl;
    
    return 0;
}

这个代码首先读取了N,然后创建了一个大小为N的vector来保存Rain想买的物品的价格。然后读取了X,表示Rain开始时的零花钱。接下来,使用sort函数对prices进行排序,这样可以让Rain买到的物品按照价格从低到高排列。然后,使用一个循环遍历prices,如果当前物品的价格小于等于X,就将X减去物品的价格,并将计数器count加1。最后,输出count的值,表示Rain买到的物品件数。


原文地址: https://www.cveoy.top/t/topic/px5k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录