#include <bits/stdc++.h>
using namespace std;
int n,s,a,b;
int x[10010],y[10010];
int dfs(int num,int rest)
{
if(num>n)
{
return 0;
}
int Max=dfs(num+1,rest);
if(x[num]<a+b&&rest>=y[num])
{
int t=dfs(num+1,rest-y[num])+1;
Max=t>Max?t:Max;
}
return Max;
}
int main()
{
cin>>n>>s>>a>>b;
for(int i=1;i<=n;i++)
{
cin>>x[i]>>y[i];
}
cout<<dfs(1,s);
return 0;
}
WA第2个测试点,TLE第3、4个测试点。