#include using namespace std; using LL = long long; using ULL = unsigned long long; #define rep(i,n) for(int i=0; i<(n); i++) int N; int A[1500]; int B[3000]; int main() { cin >> N; rep(i, N) cin >> A[i]; rep(i, N) cin >> B[i]; rep(i, N) B[i + N] = B[i] = B[i] / 2; int ans = N; rep(s, N) { priority_queue> Q; rep(i, N) Q.push({ -A[i], 0 }); rep(i, N) { auto p = Q.top(); Q.pop(); p.second--; p.first -= B[s + i]; Q.push(p); } int tmp = 0; while (Q.size()) { tmp = max(tmp, -Q.top().second); Q.pop(); } ans = min(ans, tmp); } cout << ans << endl; return 0; }