#include<cstdio>
#include<algorithm>
#include<bits/stl_function.h>
using namespace std;
int n,m,c=0,c2=0,ans=0,i=0;
int a[100001],b[100001],c1[100001];
int main()
{
scanf("%d%d",&n,&m);
for(i=0;i<n;++i)scanf("%d%d",&a[i],&b[i]);
for(i=0;i<n;++i)c+=a[i],c2+=b[i];
if(c<=m){printf("0");return 0;}
if(c2>m){printf("-1");return 0;}
if(c2==m){printf("%d",n);return 0;}
if(c>m && c2<m)
{
for(i=0;i<n;++i)c1[i]=a[i]-b[i];
sort(c1,c1+n,greater<int>());
do{c-=c1[i];i++;ans++;}
while(c<=m);
if(ans==n && c>m){printf("-1");return 0;}
else printf("%d",ans);
}
return 0;
}
题目传送门