为啥只有30分
查看原帖
为啥只有30分
549907
Aheaddd楼主2021/8/29 13:14
#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;
}

萌新不懂,是不是一定要贪心才过得了,还是说我的代码有问题,例子过了

2021/8/29 13:14
加载中...