#include #include #include #include #include #include #include using namespace std; #define INF (int)1e7 int main() { int n; cin >> n; vectorA(n), B(n); for (int i = 0; i < n; i++)cin >> A[i]; for (int i = 0; i < n; i++)cin >> B[i]; int mincnt = INF; for (int i = 0; i < n-1; i++) { priority_queue, vector>, greater>>C; for (int j = 0; j < n; j++)C.push(make_pair(A[j],0)); int cnt = 0; for (int j = 0; j < n; j++) { pair p = C.top(); C.pop(); p.first += B[j]/2; p.second++; if (p.second > mincnt)break; cnt = max(cnt, p.second); C.push(p); } mincnt = min(mincnt,cnt); B.push_back(B[0]); B.erase(B.begin()); } cout << mincnt << endl; return 0; }