比赛 |
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);
}