30分,输出比样例多一个
查看原帖
30分,输出比样例多一个
649751
Blued楼主2022/7/21 19:52
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[(int)3e4+5],w,s;bool b[(int)3e4+5],ok=true;
signed main()
{
	cin>>w>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	sort(a+1,a+n+1);
	for(int i=n;i>=1;i--)
	{
		if(b[i])
		continue;
		b[i]=ok=true;
		for(int j=i-1;j>=1&&i!=1;j--)
		if(a[i]+a[j]<=w)
		{
			s++;
			ok=false;
			b[j]=true;
			break;
		}
		if(ok)
		s++;
	}
	cout<<s;
	return false;
}

2022/7/21 19:52
加载中...