#include using namespace std; #define int long long // <-----!!!!!!!!!!!!!!!!!!! #define rep(i,n) for (int i=0;i<(n);i++) #define rep2(i,a,b) for (int i=(a);i<(b);i++) #define rrep(i,n) for (int i=(n)-1;i>=0;i--) #define rrep2(i,a,b) for (int i=(b)-1;i>=(a);i--) #define all(a) (a).begin(),(a).end() typedef long long ll; typedef pair P; typedef vector V; typedef vector> VV; signed main() { std::ios::sync_with_stdio(false); std::cin.tie(0); int N; cin >> N; V a(N); rep(i, N) cin >> a[i]; V b(N); rep(i, N) cin >> b[i]; // 先頭を全通り試す int ans = 99999999; rep(head, N) { priority_queue, greater

> que; // レベル、戦闘回数 rep(i, N) que.push(P(a[i], 0)); int ma = 0; // 最大の戦闘回数 rep(i, N) { auto mine = que.top(); que.pop(); mine.first += b[(head + i) % N] / 2; mine.second++; ma = max(ma, mine.second); que.push(mine); } ans = min(ans, ma); } cout << ans << endl; }