Description
李大志在玩一款勇士和恶龙的游戏,他操控一个勇士,当勇士的力量超过龙的力量,那么勇士将获得龙的奖励力量加成,否则无法打败龙。第一行输入勇士的力量 s和龙的数量 n,接下来 n行,输入每一条龙的力量值和奖励,均为整数。勇士可以任意选择挑战龙的顺序,问最终勇士能战胜所有龙吗?可以的话输出 YES
,否则输出 NO
。
注意:勇士的力量不会因为击败恶龙减少。
Format
Input
第一行,两个空格隔开的数字s,n,分别是勇士的初始力量值和恶龙的个数,(1≤s≤10000,1≤n≤1000),接下来 n行,输入第 i只龙的力量值 ai和击败龙之后的奖励值bi。(1≤ai≤10000,0≤bi≤10000)
Output
如果勇士能战胜所有龙输出 YES
,否则输出 NO
。
Samples
輸入資料 1
2 2
1 99
100 0
Copy
輸出資料 1
YES
Copy
輸入資料 2
10 1
100 100
Copy
輸出資料 2
NO
Copy
Limitation
1s, 1024KiB for each test case.
代码:
#include<iostream>
using namespace std;
int main()
{
int n;
int a[100005];
int b[100005];
int q;
cin>>n;
cin>>q;
for(int i = 0; i < q; i++)
{
cin>>a[i]>>b[i];
}
for(int i = 0; i < q; i++)
{
for(int j = 0; j < q; j++)
{
if(a[i] < a[j])
{
swap(a[i], a[j]);
swap(b[i], b[j]);
}
}
}
for(int i = 0; i < q; i++)
{
if(n > a[i])
{
n += b[i];
}
else
{
cout<<"NO";
return 0;
}
}
cout<<"YES";
// for(int i = 0; i < q; i++)
// {
cout<<a[i]<<" "<<b[i]<<endl;
// }
return 0;
}