만드는 중입니다

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

N+1 행사

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

요약
각 상품마다 받은 무료 개수도 다시 행사에 쓸 수 있을 때, 목표 수량 a_i개 이상을 받는 데 필요한 최소 구매 수량을 구합니다.
난이도

보통10점 중 4점

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

문제

어느 편의점에는 1+11+1 행사와 2+12+1 행사가 있다. 이 편의점은 이를 확장하여 상품마다 서로 다른 N+1N+1 행사를 진행하고 있다. 상품 종류는 11번부터 MM번까지 번호가 매겨져 있고, ii번 상품의 행사값은 nin_i이다. ii번 상품을 nin_i개 구매하면 ii번 상품을 1개 더 준다.

이 편의점은 소비자가 큰 이득을 얻도록, N+1N+1 행사로 받은 상품도 N+1N+1 행사에 사용할 수 있는 상품으로 인정한다. 예를 들어 2+12+1 행사 상품을 3개 구매하면 해당 상품을 총 5개 받을 수 있다. 단, 이미 N+1N+1 행사에 사용한 상품을 N+1N+1 행사에 다시 사용할 수는 없다.

당신은 ii번 상품을 aia_i개 가져가려고 한다. 모든 상품에 대해 목표 개수 a1,a2,a3,⋯ ,aMa_1, a_2, a_3, \cdots, a_M을 만족시키려면, 각 상품을 최소 몇 개씩 구매해야 하는지 구하라.

입력

첫 번째 줄에 상품 종류의 개수 MM이 주어진다. 두 번째 줄에 행사값 n1,n2,n3,⋯ ,nMn_1, n_2, n_3, \cdots, n_M이 공백으로 구분되어 주어진다. 세 번째 줄에 목표 개수 a1,a2,a3,⋯ ,aMa_1, a_2, a_3, \cdots, a_M이 공백으로 구분되어 주어진다.

출력

첫 번째 줄에 1,2,3,⋯ ,M1, 2, 3, \cdots, M번 상품 각각의 최소 구매 개수를 공백으로 구분하여 순서대로 출력한다.

제한

  • 1≤M≤100 0001 \le M \le 100\,000
  • 1≤ni≤100 0001 \le n_i \le 100\,000
  • 0≤ai≤1090 \le a_i \le 10^9

예제2

  1. 예제 1

    입력
    3
    1 2 3
    3 5 2
    
    예상 출력
    1 3 2
    
  2. 예제 2

    입력
    1
    2
    1000000000
    
    예상 출력
    500000001