比赛 20120309 评测结果 AAAAA
题目名称 积木分发 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-09 20:43:17
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
struct hehe
{
	int a,b,sum;
}q[10001];
int n,s;
int cmp( const void *a , const void *b );
int main()
{
	freopen ("toybrick.in","r",stdin);
	freopen ("toybrick.out","w",stdout);
	while (1)
	{
		cin>>n>>s;
		if (n==0)
			break;
		for (int i=0;i<n;i++)
		{
			cin>>q[i].a>>q[i].b;
			q[i].sum=q[i].a-q[i].b;
		}
		qsort(q,n,sizeof(q[0]),cmp);
		/*for (int i=0;i<n;i++)
		{
			cout<<q[i].a<<' '<<q[i].b<<' '<<q[i].sum<<endl;
		}*/
		for (int i=0;i<n;i++)
		{
			if (s>=q[i].b)
			{
				s+=q[i].a;
			}
			else
			{
				goto no;
			}
		}
		cout<<"YES"<<endl;
		continue;
		no:
			cout<<"NO"<<endl;
		
	}
	return 0;
}

int cmp( const void *a , const void *b )
{
	struct hehe *c = (struct hehe *)a;
	struct hehe *d = (struct hehe *)b;
	if(c->b == d->b)
	{		
		return d->a - c->a;
	}
	else
	{
		return c->b - d->b;
	}
}