记录编号 346750 评测结果 AAAAA
题目名称 积木分发 最终得分 100
用户昵称 Gravatar龙征天 是否通过 通过
代码语言 C++ 运行时间 1.138 s
提交时间 2016-11-12 15:09:06 内存使用 0.39 MiB
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <algorithm>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <vector>
#include <ctime>
#include <cassert>
#include <map>
#include <set>
#include <list>
#include <queue>
#include <sstream>
#include <stack>
using namespace std;

const int maxn=10000+10;
int n,s,ans;
struct node
{
	int now,need;
};
node a[maxn];
bool comp(node i,node j)
{
	if(i.need<j.need)
		return true;
	else
		return false;
}
bool f;

int main()
{
	freopen("toybrick.in","r",stdin);
	freopen("toybrick.out","w",stdout);
	
	while (true)
	{
		cin>>n>>s;
		if(n==0)
			break;
		for (int i=1; i<=n; i++)
		{
			cin>>a[i].now>>a[i].need;
		}
		sort(a+1,a+n+1,comp);
		for (int i=1; i<=n; i++)
		{
			if(a[i].need<=s)
			{
				s+=a[i].now;
			}
			else
			{
				f=true;
			}
		}
		if(f)
			cout<<"NO"<<endl;
		else
			cout<<"YES"<<endl;
	}
	return 0;
}