만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

겨울이 좋아

시간 제한1초메모리 제한1024 MB

요약
나무 N그루마다 잎 A_i개가 있고 하루에 B_i개씩 떨어집니다. 하루에 한 그루를 골라 낙엽 속도를 두 배로 올릴 때, 모든 잎이 떨어지는 가장 이른 날을 구합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 그리디, 수학
정답자
아직 제출이 없습니다

문제

정우는 겨울을 너무 좋아한다. 하지만 아쉽게도 지금은 가을이다. 정우가 사는 도시에는 NN그루의 나무가 있고, ii번째 나무에는 AiA_i개의 나뭇잎이 붙어 있다. ii번째 나무의 나뭇잎은 하루에 BiB_i개씩 떨어지며, BiB_i개보다 적게 남아 있으면 전부 떨어진다. 정우는 NN그루의 나무에 있는 나뭇잎이 모두 떨어진 날부터를 겨울이라고 부른다.

정우에게는 특별한 능력이 있다. 매일 나무 하나를 선택해서, 그날 그 나무의 나뭇잎이 2배로 떨어지게 만들 수 있다. 즉, 정우가 ii번째 나무를 선택해 능력을 사용하면 그날 그 나무의 나뭇잎은 2Bi2B_i개 떨어지며, 2Bi2B_i개보다 적게 남아 있으면 전부 떨어진다.

나뭇잎이 떨어지기 시작하는 날을 1일째라고 할 때, 정우가 능력을 적절히 사용해 겨울이 가장 빨리 오도록 하면 며칠째에 겨울이 되는지 구해보자.

입력

첫 번째 줄에 정우가 사는 도시의 나무 그루 수 NN이 주어진다. (1≤N≤200 0001 \leq N \leq 200\,000)

두 번째 줄에 NN개의 정수 A1,A2,…,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. AiA_i는 ii번 나무에 붙어 있는 나뭇잎의 개수이다. (1≤Ai≤1091 \leq A_i \leq 10^9)

세 번째 줄에 NN개의 정수 B1,B2,…,BNB_1, B_2, \dots, B_N이 공백으로 구분되어 주어진다. BiB_i는 ii번 나무에 붙어 있는 나뭇잎이 하루에 떨어지는 개수이다. (1≤Bi≤1091 \leq B_i \leq 10^9)

출력

정우가 겨울이 가장 빨리 오도록 능력을 적절히 사용했을 때, 며칠째에 겨울이 되는지 출력한다.

예제1

  1. 예제 1

    입력
    3
    10 8 5
    3 3 1
    
    예상 출력
    3