比赛 20120309 评测结果 AAAWW
题目名称 积木分发 最终得分 60
用户昵称 feng 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-09 19:55:15
显示代码纯文本
#include<fstream>
using namespace std;
int a[10000],b[10000],i,j,k,n,s;
void quicksort(int l,int r)
{
	int i=l,j=r;
	int x=b[(i+j)/2];
	for (;i<=j;)
	{
		while ((b[i]<x)and(i<=r)) i++;
		while ((b[j]>x)and(j>=l)) j--;
		if (i<=j)
		{
			b[0]=b[i];
			b[i]=b[j];
			b[j]=b[0];
			a[0]=a[i];
			a[i]=a[j];
			a[j]=a[0];
			i++;
			j--;
		}
	}
	if (i<r) quicksort(i,r);
	if (l<j) quicksort(l,j);
}
int main()
{
	ifstream fin("toybrick.in");
	ofstream fout("toybrick.out");
	fin>>n>>s;
	while (n!=0)
	{
		for (i=1;i<=n;i++)
		{
			fin>>a[i]>>b[i];
		}
		quicksort(1,n);
		i=1;
		while (s>=b[i])
		{
			s+=a[i];
			i++;
		}
		if (i<=n) fout<<"NO"<<endl;
		if (i>n) fout<<"YES"<<endl;
		fin>>n>>s;
	}
	fout.close();
	fin.close();
	return 0;
}