#include #include #include using namespace std; int n; int *a, *b; int i,j,k; int ans = 99999999; void scan(); void solve(); int cnt(int index); void write(); struct monstar { int battle; int level; }; int main(void) { scan(); solve(); write(); return 0; } void scan() { cin >> n; a = new int[n]; b = new int[n]; for (k = 0; k < n; k++) { cin >> a[i]; } for (k = 0; k < n; k++) { cin >> b[i]; } } void solve() { for (j = 0; j < n; j++) { int a = cnt(j); if (a < ans) { ans = a; } } } void write() { cout << ans << endl; } int cnt(int index) { priority_queue, vector>, greater>>pq; for (i = 0; i < n; i++){ pq.push(pair(a[i],0)); } for (i = index; i < n; i++) { pairp = pq.top(); pq.pop(); p.first += b[i] / 2; p.second++; pq.push(p); } for (i = 0; i < index; i++) { pairp = pq.top(); pq.pop(); p.first += b[i] / 2; p.second++; pq.push(p); } int max = 0; for (i = 0; i < n; i++) { if (max < pq.top().second) { max = pq.top().second; } pq.pop(); } return max; }