서버 로그

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

요약
매일 서버마다 로그가 1씩 늘고, 로그가 C_i를 초과한 서버를 C_i로 줄일 때 정리되는 총량을 각 날마다 구한다.
난이도

보통10점 중 5점

유형
정렬, 이분 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

데이터 센터에는 NN개의 서버가 운영 중이다. 각 서버에는 로그가 저장되며, 로그는 하루가 지날 때마다 11씩 누적된다. 처음에는 서버마다 D_1,D_2,⋯ ,D_ND\_1, D\_2, \cdots, D\_N 만큼의 로그가 쌓여 있다.

지속적으로 로그가 쌓이면 저장 공간이 부족해질 수 있기 때문에, 시스템 관리자는 다음 MM일 동안 정기적으로 로그를 정리하는 프로그램을 만들었다. ii번째 날에는, 로그가 C_iC\_i​를 초과한 서버들의 로그를 정리하여, 각 서버의 로그 양을 정확히 C_iC\_i​로 맞춘다. 프로그램은 그 날의 로그가 누적되기 전의 시점에 로그를 정리한다.

프로그램이 의도대로 작동하는지 확인하기 위해, 하루가 끝날 때마다 정리되어야 하는 로그의 총 용량을 미리 구해서 날마다 비교하려고 한다. 정리 프로그램이 정상적으로 작동했을 때, 다음 MM일동안 정리할 로그의 용량을 각각 구해보자.

입력

첫 번째 줄에 NN과 MM이 공백을 사이에 두고 주어진다.

두 번째 줄에 NN개의 정수 D_1,D_2,⋯ ,D_ND\_1, D\_2, \cdots , D\_N이 공백을 사이에 두고 주어진다.

세 번째 줄에 MM개의 정수 C_1,C_2,⋯ ,C_MC\_1, C\_2, \cdots , C\_M이 공백을 사이에 두고 주어진다.

출력

총 MM줄에 걸쳐 출력한다. ii번째 줄에는, ii번째 날에 정리될 로그의 용량을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤N,M≤500,0001 \le N, M \le 500\\,000
  • 1≤i≤N1 \le i \le N 인 각 ii 에 대하여: 1≤D_i≤500,0001 \le D\_i \le 500\\,000
  • 1≤j≤M1 \le j \le M 인 각 jj 에 대하여: 1≤C_j≤500,0001 \le C\_j \le 500\\,000

예제1

  1. 예제 1

    입력
    5 3
    8 2 3 4 5
    4 4 3
    
    예상 출력
    5
    3
    9