#include <iostream>
usingnamespace std;
int a[205];
int b[205];
int N;
int suma;
int dp[200000] = {0};
int k = 0;
int sum = 10000000;
int main()
{
cin>>N;
suma = 0;
for (int i = 0; i < N; i++)
{
cin>>a[i];
suma += a[i];
}
for (int i = 0; i < N; i++)
{
cin>>b[i];
}
for (int i = 0; i < N; i++)
{
for (int j = suma; j >= 0; j--)
{
if (j >= a[i])
{
dp[j] = min(dp[j - a[i]], dp[j] + b[i]);
}
else
{
dp[j] += b[i];
}
}
}
for (int i = 0; i <= suma; i++)
{
k = max(i , dp[i]);
sum = min(sum, k);
}
cout <<sum<<endl;
return0;
}