아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

잔디깎이

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

요약
매일 아침 잔디가 1cm씩 자라고 낮에 b_j번 깎일 때, 매일 저녁 남은 잔디 높이의 합을 구한다.
난이도

보통10점 중 6점

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

문제

마르티나스의 집 앞에는 잔디밭이 있습니다. 이 잔디밭은 길이가 NN 센티미터인 직선으로 볼 수 있으며, 11 센티미터마다 잔디 포기가 하나씩 돋아 있습니다. ii번째 위치(1≤i≤N1 \le i \le N)의 잔디 포기 높이는 aia_i 센티미터입니다.

지금까지 잔디를 한 번도 깎지 않아서 잔디밭을 산책하기도, 소풍을 즐기기도 어려운 상태입니다.

마르티나스는 잔디깎이를 샀고, MM일에 걸쳐 잔디의 대부분을 깎으려 합니다. jj번째 날(1≤j≤M1 \le j \le M)에는 다음 일이 순서대로 일어납니다.

  • 아침: 아직 완전히 깎이지 않은(ai≠0a_i \ne 0) 모든 잔디 포기가 1 cm1\,\text{cm} 자랍니다.
  • 낮: 마르티나스가 잔디깎이로 잔디밭을 bjb_j번 지나갑니다. 한 번 지나갈 때마다 아직 깎이지 않은 모든 잔디 포기의 높이가 1 cm1\,\text{cm}씩 줄어듭니다(높이는 00 아래로 내려가지 않습니다).
  • 저녁: 아직 남아 있는 잔디의 총 높이(센티미터)를 셉니다.

예를 들어 잔디밭 길이가 4 cm4\,\text{cm}(N=4N = 4)이고 잔디 포기의 높이가 각각 1,2,1,31, 2, 1, 3이라고 합시다. 마르티나스는 M=2M = 2일 동안 일하며, 첫째 날에는 잔디밭을 b1=2b_1 = 2번, 둘째 날에는 b2=1b_2 = 1번 지나갑니다.

첫째 날 아침에는 모든 포기가 1 cm1\,\text{cm} 자라 2,3,2,42, 3, 2, 4가 됩니다. 낮에 잔디밭을 두 번 지나가면 각 포기가 2 cm2\,\text{cm}씩 줄어 0,1,0,20, 1, 0, 2가 되고, 저녁에는 0+1+0+2=3 cm0 + 1 + 0 + 2 = 3\,\text{cm}의 잔디가 남습니다.

둘째 날 아침에는 아직 잔디가 남아 있는 포기만 자라(첫째와 셋째 포기는 00이므로 그대로) 0,2,0,30, 2, 0, 3이 됩니다. 낮에 한 번 지나가면 0,1,0,20, 1, 0, 2가 되고, 저녁에는 다시 0+1+0+2=3 cm0 + 1 + 0 + 2 = 3\,\text{cm}가 남습니다.

잔디밭의 초기 상태와 MM일 동안의 잔디 깎기 계획이 주어질 때, MM일 각각의 저녁에 남아 있는 잔디의 총 높이를 구하세요.

입력

  • 첫째 줄에 잔디밭의 길이를 나타내는 정수 NN이 주어집니다.
  • 둘째 줄에 공백으로 구분된 NN개의 정수 aia_i(1≤i≤N1 \le i \le N) — 잔디 포기들의 높이가 주어집니다.
  • 셋째 줄에 마르티나스가 잔디를 깎는 날수를 나타내는 정수 MM이 주어집니다.
  • 넷째 줄에 공백으로 구분된 MM개의 정수 bjb_j(1≤j≤M1 \le j \le M) — jj번째 날에 잔디밭을 지나가는 횟수가 주어집니다.

출력

MM개의 줄을 출력합니다. kk번째 줄(1≤k≤M1 \le k \le M)에는 kk번째 날이 끝났을 때 남아 있는 잔디의 총 높이(센티미터)를 나타내는 정수 하나를 출력합니다.

제한

  • 1≤N,M≤1000001 \le N, M \le 100000
  • 1≤ai≤10000001 \le a_i \le 1000000 (1≤i≤N1 \le i \le N)
  • 1≤bj≤10000001 \le b_j \le 1000000 (1≤j≤M1 \le j \le M)

힌트

계산 과정에서 6464비트 정수 자료형(C/C++의 long long)이 필요할 수 있음에 유의하세요.

예제3

  1. 예제 1

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

    입력
    4
    10 10 10 10
    4
    2 2 2 2
    
    예상 출력
    36
    32
    28
    24
    
  3. 예제 3

    입력
    5
    1 3 5 7 9
    3
    1 2 3
    
    예상 출력
    25
    20
    12