比赛 小练习赛:B组 评测结果 AAAAAAAAAAA
题目名称 纪念品分组 最终得分 100
用户昵称 →震世逆空波→ 运行时间 0.025 s
代码语言 C++ 内存使用 0.40 MiB
提交时间 2014-10-21 18:39:25
显示代码纯文本
#include <cstdio>
#include <cstdlib>
 
using namespace std;
 
int a[30000];
 
void swap(int& a,int& b)
{
	int temp;
	temp=a;
	a=b;
	b=temp;
}
 
void qqsort(int l,int r)
{
	int ll,rr,temp;
	ll=l;
	rr=r;
	temp=a[rand()%(r-l+1)+l];
	while (ll<=rr)
	{
		while (a[ll]>temp)
			ll++;
		while (temp>a[rr])
			rr--;
		if (ll<=rr)
		{
			swap(a[ll],a[rr]);
			ll++;
			rr--;
		}
	}
	if (l<rr)
		qqsort(l,rr);
	if (ll<r)
		qqsort(ll,r);
}
 
int main()
{
	freopen("group.in","r",stdin);
	freopen("group.out","w",stdout);
	
	int i,abi,n,ans=0,temp;
	scanf("%d%d",&abi,&n);
	for (i=0;i<n;i++)
		scanf("%d",&a[i]);
	n--;
	qqsort(0,n);
	for (i=0;i<=n;i++)
	{
		temp=abi-a[i];
		if (temp>=a[n])
			n--;
		ans++;
	}
	
	printf("%d\n",ans);
 
	return 0;
}