#include #include #include using namespace std; const int INF = 1 << 28; const int dp_size = 10010; int N; vector> house; int dp[dp_size]; int main(){ cin >> N; for(int i=0;i> V >> T; house.push_back(make_pair(T, V)); } sort(house.begin(), house.end()); for(int i=0;i=0;t--)if(dp[t] != -INF){ int nt = min(t + V, 10000); dp[nt] = max(dp[nt], dp[t] + V); } } int res = -INF; for(int t=0;t<=10000;t++)res = max(res, dp[t]); cout << res << endl; return 0; }