/** * @FileName a.cpp * @Author kanpurin * @Created 2020.06.09 20:30:27 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; int main() { int n;cin >> n; constexpr long long LLINF = 1e18 + 1; vector dp(n*1000+1,LLINF); dp[0] = 0; for (int i = 0; i < n; i++) { int a,b;cin >> a >> b; for (int j = n*1000; j >= 0; j--) { if (j - a >= 0) dp[j] = min(dp[j] + b,dp[j - a]); else dp[j] = dp[j] + b; } } ll ans = LLINF; for (int i = 0; i <= n*1000; i++) { ans = min(ans,max(dp[i],(ll)i)); } cout << ans << endl; return 0; }