#define _CRT_SECURE_NO_WARNINGS #define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include using namespace std; const int INF=1000000; const int MOD = 100000; typedef long long int llint; int main(){ int n, ans = INF; int A[15000]; int B[15000]; priority_queue> a; cin >> n; for (int i = 0; i < n; i++){ cin >> A[i]; a.push(make_pair(-A[i], 0)); } for (int i = 0; i < n; i++){ cin >> B[i]; } for (int i = 0; i < n; i++){ int cc = 0; priority_queue < pair < int, int >> b = a; for (int j = i; j < n+i; j++){ pairP = b.top(); b.pop(); if (j < n){ P.first -= B[j] / 2; } else{ P.first -= B[j - n]/2; } P.second--; b.push(P); cc = max(cc, -P.second); } ans = min(ans, cc); } cout << ans << endl; return 0; }