比赛 20120309 评测结果 AAAAA
题目名称 积木分发 最终得分 100
用户昵称 TBK 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-09 19:16:15
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <iomanip>
using namespace std;
int a,b,c,d;
struct fun
{
	int p;
	int q;
}f[10000];
int Compare( const void *elem1 , const void *elem2 )
{
	fun * elem3=(fun *)elem1;
	fun * elem4=(fun *)elem2;
	if (elem3->q != elem4->q) return elem3->q -elem4->q;
		else return elem3->p - elem4->p;
}
int main(void)
{
	freopen ("toybrick.in","r",stdin);
	freopen ("toybrick.out","w",stdout);
	a=1;
	while (a!=0) 
	{
		scanf("%d%d",&a,&b);
		if (a==0) break;
		for (c=0;c<a;c++) scanf("%d%d",&f[c].p,&f[c].q);
		qsort(f,a,sizeof(fun),Compare);
		for (c=0;c<a;c++)
			if (b>=f[c].q) b+=f[c].p;
				else break;
		if (c==a) printf("YES\n");
			else printf("NO\n");
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}