95分求助,贪心题
查看原帖
95分求助,贪心题
1030815
bbluele楼主2024/1/25 11:01

就只有第18个点错了答案错了,由于是刚学贪心试了一下,是贪心写错了吗

#include<iostream>
#include<string>
using namespace std;
int n, k, y, x[20005];
long long m;
void px(int x[], int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = i + 1; j < n; j++)
            if (x[i] < x[j]) {
                int num = x[i];
                x[i] = x[j];
                x[j] = num;
            }
    }
}
void ac(int n,int m)
{
    for (int i = 0; i < n; i++)
    {
        cin >> x[i];
    }
    px(&x[0], n);
    for (int i = 0; i < n; i++)
    {
        if (x[i] < m)
        {
            m = m - x[i];
            y++;
        }
        else
            continue;
    }
    cout << y;
}

int main()
{
    cin >> n >> m;
    ac(n, m);
}


2024/1/25 11:01
加载中...