#include #include #include #include template using MinHeap = std::priority_queue, std::greater>; void solve() { int n; std::cin >> n; std::vector xs(n), ys(n); for (auto& x : xs) std::cin >> x; for (auto& y : ys) std::cin >> y; int ans = n; for (int q = 0; q < n; ++q) { auto nxs = xs; std::vector match(n, 0); MinHeap> heap; for (int i = 0; i < n; ++i) heap.emplace(nxs[i], match[i], i); for (auto y : ys) { auto [x, m, i] = heap.top(); heap.pop(); nxs[i] += y / 2; ++match[i]; heap.emplace(nxs[i], match[i], i); } ans = std::min(ans, *std::max_element(match.begin(), match.end())); std::rotate(ys.begin(), ys.begin() + 1, ys.end()); } std::cout << ans << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }