比赛 20120309 评测结果 AAAAA
题目名称 积木分发 最终得分 100
用户昵称 Yeehok 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-09 20:13:26
显示代码纯文本
#include<cstdio>
#include<cstdlib>
using namespace std;
struct num
{
	int a,b;
	num()
	{
		a=b=0;
	}
};
int cmp(const void *a,const void *b)
{
	struct num *c=(struct num*)a;
	struct num *d=(struct num*)b;
	if(c->b!=d->b)
		return (c->b-d->b);
	else
		return (c->a-d->a);
}
int main()
{
	freopen("toybrick.in","r",stdin);
	freopen("toybrick.out","w",stdout);
	int n=1,s=1;
	while(1)
	{
		struct num data[10000];
		bool flag=true;
		scanf("%d%d",&n,&s);
		if(!n||(!n&&!s))
			break;
		for(int i=0;i<n;i++)
		{
			scanf("%d%d",&data[i].a,&data[i].b);
		}
		qsort(data,n,sizeof(num),cmp);
		for(int i=0;i<n;i++)
		{
			if(s>=data[i].b)
			{
				s+=data[i].a;
			}
			else
			{
				flag=false;
				printf("NO\n");
				break;
			}
		}
		if(flag)
			printf("YES\n");
	}
	return (0);
}