#include #include #include #include #include #define INF (2 << 24) using namespace std; int n; bool dp[10001]; bool chk[10001]; vector > vt; int main(){ cin >> n; for(int i = 0; i < n; i++){ int v, t; cin >> v >> t; vt.push_back(make_pair(t, v)); } sort(vt.begin(), vt.end()); memset(chk, true, sizeof(chk)); dp[0] = true; for(int i = 0; i <= 10000; i++){ for(int j = 0; j < n; j++){ if(dp[i] && i < vt[j].first) dp[i + vt[j].second] = true; } } for(int i = 10000; i >= 0; i--){ if(dp[i]){ cout << i << endl; break; } } }