#include<bits/stdc++.h>
using namespace std;
struct node{
	long long t1,t2;
}a[150010];
bool cmp(node x,node y){
	return x.t2<y.t2;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	long long n,cnt=0,sum=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		int x,y;
		cin>>x>>y;
		a[i].t1=x;
		a[i].t2=y;
	}
	sort(a+1,a+n+1,cmp);
	priority_queue<int> q;
	for(int i=1;i<=n;i++){
		cnt++;
		sum+=a[i].t1;
		q.push(a[i].t1);
		if(sum>=a[i].t2){
			sum-=q.top();
			cnt--;
			q.pop();
		}
	}
	cout<<cnt;
	return 0;
}

0 条评论

目前还没有评论...