#include<iostream>
#include<algorithm>
using namespace std;
int w, n, a[30005], cnt;
int main()
{
cin >> w >> n;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
if (n == 1)
{
cout << "1"; return 0;
}
sort(a, a + n);
for (int i = n - 1; i >= 0; i--)
{
for (int j = 0; j < i; j++)
{
if (a[i] + a[j] <= w && a[j] != 0&&a[i]!=0)
{
a[j] = 0; cnt++; break;
}
else if(a[i]+a[j]>w&&a[i]!=0&&a[j]!=0)
{
cnt++; break;
}
}
if (a[i] != 0 && a[i-1] == 0)cnt++;
}
cout << cnt;
return 0;
}
萌新不懂,是不是一定要贪心才过得了,还是说我的代码有问题,例子过了