#include #include #include #include #include int main() { using namespace std; int n; cin >> n; vector a(n), b(n); for (auto &e : a) { cin >> e; } for (auto &e : b) { cin >> e; } priority_queue< pair, vector>, greater>> q; for (auto e : a) { q.emplace(e, 0); } int ans = n; for (int i = 0; i < n; i++) { auto que = q; for (int j = 0; j < n; j++) { auto [lv, cnt] = que.top(); que.pop(); que.emplace(lv + b[(i + j) % n] / 2, cnt + 1); } int max_cnt = 0; while (!que.empty()) { auto [lv, cnt] = que.top(); que.pop(); max_cnt = max(max_cnt, cnt); } ans = min(ans, max_cnt); } cout << ans << endl; }