만드는 중입니다

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

배틀 로얄

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

요약
각 플레이어의 공격력과 체력이 주어질 때, 순서대로 공격하는 배틀로얄에서 마지막까지 살아남는 플레이어 번호를 구합니다.
난이도

보통10점 중 6점

유형
시뮬레이션, 힙, 정렬
정답자
아직 제출이 없습니다

문제

민혁이가 좋아하는 게임은 NN명의 플레이어 중 한 명의 승자가 결정될 때까지 진행하는 배틀 로얄 게임이다. 플레이어에게는 공격력과 체력이라는 능력치가 있다. 체력이 00보다 큰 플레이어가 한 명만 남는 순간 그 플레이어가 승자로 결정되고 게임이 끝난다.

게임은 1번 플레이어부터 차례대로 진행한다. ii번 플레이어의 다음 차례는 i+1i+1번 플레이어이고, NN번 플레이어의 다음 차례는 다시 1번 플레이어다 (1≤i<N1 \le i < N). 플레이어는 자신의 차례에 남은 체력이 00보다 크면 자신을 제외한 모든 플레이어의 체력을 자신의 공격력만큼 줄인다. 남은 체력이 00보다 작거나 같으면 아무 행동도 하지 않고 차례를 넘긴다.

각 플레이어의 공격력과 초기 체력이 주어질 때, 게임의 승자가 몇 번째 플레이어인지 구해보자.

입력

첫째 줄에 정수 NN (1≤N≤200 0001 \le N \le 200\,000)이 주어진다. 둘째 줄에 정수 d1,d2,⋯ ,dNd_1, d_2, \cdots, d_N (1≤di≤1 000 0001 \le d_i \le 1\,000\,000)이 공백으로 구분되어 주어진다. did_i는 ii번 플레이어의 공격력이다. 셋째 줄에 정수 h1,h2,⋯ ,hNh_1, h_2, \cdots, h_N (1≤hi≤1 000 0001 \le h_i \le 1\,000\,000)이 공백으로 구분되어 주어진다. hih_i는 ii번 플레이어의 초기 체력이다.

출력

게임을 진행했을 때 승자가 몇 번째 플레이어인지 출력한다.

예제2

  1. 예제 1

    입력
    4
    5 2 1 6
    3 9 1 4
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5
    2 1 2 2 1
    7 9 11 9 8
    
    예상 출력
    3