程序设计 -- 小明打怪兽

小明在玩一款打怪兽的游戏,这个游戏里一共有n只不同的怪兽,每只怪兽都有自己的防御值ai和生命值bi。小明的角色有攻击值x以及能量值y。如果小明的攻击值小于等于怪兽的防御值,则他无法消灭这只怪兽。当他的攻击值大于怪兽的防御值时,他消耗1点能量值则可使得怪兽的生命值减少1点 。生命值减至0表示怪兽被消灭。现在请你帮小明计算一下他玩这个游戏最多可以消灭多少只怪兽。
输入格式
第一行,三个整数n、x 和y ,表示怪兽的数量、小明的攻击值和能量值。(n≤1000)
接下来的n行,每行两个整数ai、bi,表示第 ii 只怪兽的防御值和和生命值。
输出格式
一行,一个整数。
输入样例
5 100 10
120 1
110 2
99 4
80 7
90 6
输出样例
2
以下是我的错误代码

#include<iostream>
#include<cstring>
using namespace std;
int a[10001],b[10001];
int main(){
    int x,n,m,i,j,c=0;
    cin>>n>>x>>m;
    for(i=1;i<=n;i++){
        cin>>a[i]>>b[i];
   }
    for(i=1;i<=n-1;i++){
        for(j=i+1;j<=n;j++){
            if(b[i]>b[j]){
                swap(b[i],b[j]);
                swap(a[i],a[j]);
            }
        }
    }
    for(i=1;i<=n;i++){
        if(a[i]<x){
            for(j=1;j<=b[i];j++){
                m--;
            }
        }
        c++;
        if(m<b[i]){
            cout<<c-2;
            return 0;
        }
    }
    return 0;
}