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