#include<bits/stdc++.h>
using namespace std;
int n, h, cnt, sum, ans;
struct node{
int a, b;
}x[2005];
bool cmp(node x, node y){
if(x.a + x.b == y.a + y.b) return x.a > y.a;
return x.a + x.b > y.a + y.b;
}
int main(){
cin >> n;
for(int i = 1; i <= n; i ++) cin >> x[i].a >> x[i].b;
cin >> h;
sort(x + 1, x + n + 1, cmp);
for(int i = 1; i <= n && sum < h; i ++){
sum += x[i].a;
cnt ++;
}
ans = n - cnt;
for(int i = cnt; i >= 1; i --){
if(sum + x[i].b >= h) ans ++, sum -= x[i].a;
}
cout << ans;
return 0;
}
昨天想了一晚上,觉得没问题,就是先搭人梯让其他人上去,然后剩下的人腿短的先走。