题目描述
Kirito现在被困在一个MMORPG游戏当中,为了离开这个游戏,他现在必须和n条龙进行战斗,Kirito和这n头龙都有一个力量值,用整数表示,Kirito最初的力量值为s。如果在Kirito和第i头龙(1 ≤ i ≤ n)的对决当中,Kirito的力量不大于龙的力量xi,那么,Kirito将输掉对决并死亡。如果Kirito的力量大于龙的力量,那么,Kirito将打败这条龙并且升级获得额外的力量提升。
现在,Kirito可以按照任意顺序和这些龙进行决斗,请问,Kirito能否离开这个游戏,即Kirito能够战胜所有的n头龙并且没有死亡。
输入格式:
题目包含多组输入
第一行输入两个数字s和n(1 ≤s ≤ 1e4, 1 ≤ n≤ 1e3),表示Kirito的初始力量值和龙的数量。
接下来n行,每行输入两个数字xi和yi(1 ≤xi ≤ 1e4, 0 ≤ yi≤ 1e4),表示第i头龙的力量以及Kirito击败这头龙能够获得的额外力量值。
输出格式:
如果Kirito能够离开这个游戏,则输出”YES”,否则,则输出”NO”.
样例
样例输入:
2 2
1 99
100 0
样例输出:
YES样例输入:
10 1
100 100
样例输出:
NO
算法分析
这一题是一道非常简单的贪心题,只需要一个简单的排序,就可以完成。
最佳贪心策略就是比较X i ,最小的最先做,从而积累Y i 。
思路很简单,代码量也不多。
代码
#include<cstdio>
#include<algorithm>