#include #define INF (2 << 24) using namespace std; int n, v[11111], t[11111]; int dp[10001]; int rec(int sum){ if(dp[sum]) return dp[sum]; int ret = 0; bool judge = true; for(int i = 0; i < n; i++){ if(sum < t[i]){ ret = max(ret, rec(sum + v[i]) + v[i]); judge = false; } } if(judge) return 0; return dp[sum] = ret; } int main(){ cin >> n; for(int i = 0; i < n; i++){ cin >> v[i] >> t[i]; } cout << rec(0) << endl; }