만드는 중입니다

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

신중한 시청

시간 제한3초메모리 제한2048 MB

요약
각 시각 t마다, 모든 숙제가 마감 안에 끝나는 조건에서 t 이전에 순서대로 볼 수 있는 에피소드의 최대 개수를 구합니다.
난이도

보통10점 중 7점

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

문제

제인은 대학에서 좋은 성적을 받는 것을 좋아해서 과제 마감을 한 번도 어기지 않는다. 그보다 더 좋아하는 것은 시리즈를 보고 가장 친한 친구 조니와 이야기하는 것이다. 오늘 그녀는 이 두 활동 중 하나를 골라야 한다.

제인은 nn개의 과제를 끝내야 한다. ii번째 과제는 완료하는 데 aia_i분이 걸리며, 지금부터 did_i분 이내에 교수에게 제출해야 한다. 조니와 제인이 이야기하려는 새 에피소드는 mm개가 있다. jj번째 에피소드는 ljl_j분 동안 방영된다. 제인은 과제를 어떤 순서로든 할 수 있지만, 에피소드는 방영되는 순서대로 봐야 한다. 과제와 에피소드는 한 번 시작하면 중간에 멈출 수 없다.

조니와 제인은 시리즈에 대해 통화할 시각 tkt_k를 정해야 한다. 가능한 시각마다, 모든 과제를 제시간에 끝내면서 그 시각 이전에 볼 수 있는 에피소드 수의 최댓값을 구하라.

시각 tkt_k에 조니와 통화해도 제인의 시간은 크게 쓰이지 않는다. 제인이 과제를 하는 도중이라도 통화는 가능하다.

입력

첫 줄에 테스트케이스의 수 TT (1≤T≤10001 \le T \le 1000)가 주어진다. 각 테스트케이스는 nn (1≤n≤2000001 \le n \le 200000), mm (1≤m≤2000001 \le m \le 200000), qq (1≤q≤2000001 \le q \le 200000)이 적힌 줄로 시작한다.

다음 줄에 정수 nn개 aia_i (1≤ai≤1091 \le a_i \le 10^9)가 주어진다. 다음 줄에 정수 nn개 did_i (1≤di≤10151 \le d_i \le 10^{15})가 주어진다. 다음 줄에 정수 mm개 ljl_j (1≤lj≤1091 \le l_j \le 10^9)가 주어진다. 마지막 줄에 정수 qq개 tkt_k (1≤tk≤10151 \le t_k \le 10^{15})가 주어진다.

모든 과제를 마감 안에 끝낼 수 있다. 모든 테스트케이스에 걸쳐 nn, mm, qq의 합은 각각 200000을 넘지 않는다.

출력

각 테스트케이스마다 정수 qq개를 한 줄에 출력한다. kk번째 정수는 시각 tkt_k 이전에 제인이 볼 수 있는 에피소드 수의 최댓값이다.

예제1

  1. 예제 1

    입력
    2
    1 2 3
    10
    15
    5 5
    5 15 20
    3 4 5
    8 100 8
    10 150 20
    2 32 1 1
    9 200 51 50 10
    
    예상 출력
    1 1 2
    1 4 2 2 1