만드는 중입니다

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

일꾼 고용

면접 대비

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

요약
1번 작업과 2번 작업을 맡은 작업자 수가 같고 효율 합의 차이가 K 이하인 연속 구간의 개수를 셉니다.
난이도

보통10점 중 5점

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

문제

영삼이는 공장을 운영하는 시뮬레이션 게임을 하고 있다. 영삼이는 공장을 원활하게 운영하기 위해 일꾼을 고용하려 한다.

현재 NN명의 일꾼이 일렬로 서 있으며, 영삼이는 이 중 연속한 일꾼들을 고용하려 한다. 공장에는 두 가지 작업이 있으며, ii번째 일꾼은 미리 배정된 작업 CiC_i만 수행할 수 있다. CiC_i는 1 또는 2이다. 또한 ii번째 일꾼은 고유한 능률 WiW_i를 가진다.

공장 운영의 효율을 위해 영삼이는 다음 조건을 모두 만족하도록 일꾼을 고용하려 한다.

  • 각 작업을 수행하는 일꾼의 수가 같아야 한다.
  • 두 작업의 일꾼 능률 합의 차이가 KK 이하여야 한다.

이 조건을 만족하면서 고용할 수 있도록 일꾼을 선택하는 방법의 수를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다.

각 테스트 케이스의 첫 줄에는 NN과 KK가 공백으로 구분되어 주어진다.

둘째 줄에는 일꾼의 작업 유형 C1,C2,⋯ ,CNC_1, C_2, \cdots, C_N이 차례대로 공백으로 구분되어 주어진다.

셋째 줄에는 일꾼의 능률 W1,W2,⋯ ,WNW_1, W_2, \cdots, W_N이 차례대로 공백으로 구분되어 주어진다.

출력

각 테스트 케이스의 정답을 한 줄에 하나씩 차례대로 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1≤T≤10 0001 \leq T \leq 10\,000
  • 2≤N≤500 0002 \leq N \leq 500\,000
  • 모든 테스트 케이스에서 NN의 합은 500 000500\,000 이하이다.
  • 0≤K≤1090 \leq K \leq 10^9
  • 1≤Ci≤21 \leq C_i \leq 2 (1≤i≤N1 \leq i \leq N)
  • 0≤Wi≤1090 \leq W_i \leq 10^9 (1≤i≤N1 \leq i \leq N)

예제1

  1. 예제 1

    입력
    3
    3 0
    1 2 1
    1 1 1
    5 4
    1 2 2 1 2
    8 1 12 8 10
    3 10
    1 1 1
    3 5 6
    
    예상 출력
    2
    3
    0