CEO를 포함해 상사부터 이어진 직원 중 급여 차이가 D 이하인 최대 인원을 구합니다.
보통5트리DFS구간정렬아직 제출이 없습니다시간 제한5초메모리 제한512 MB공정국은 회사가 직원을 조직하고 급여를 지급하는 방식을 법으로 엄격하게 정한다.
공정국 정부가 법을 하나 더 통과시켰다.
마리는 공정국 종합상사의 대표이고, 회사가 새 법을 지키도록 만들어야 한다. 그러려면 직원 일부를 해고해야 할 수도 있다. 마리는 직원 명단과 각 직원의 관리자, 연봉을 알고 있다. 마리 자신을 포함해서 회사에 최대 몇 명을 남길 수 있는지 구하여라.
첫째 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다.
각 테스트 케이스의 첫째 줄에는 직원 수 N과 허용되는 최대 연봉 차이 D가 공백을 사이에 두고 주어진다. 둘째 줄에는 네 정수 S0, As, Cs, Rs가, 셋째 줄에는 네 정수 M0, Am, Cm, Rm이 공백을 사이에 두고 주어진다. 이 여덟 정수가 다음 두 수열을 정의한다.
마리의 직원 번호는 0이고, 나머지 직원의 번호는 1 이상 N−1 이하다. 직원 i의 연봉은 Si다. 마리를 뺀 직원 i의 관리자는 Mimodi다. 즉 M0은 마리의 관리자를 정하지 않는다. 마리에게는 관리자가 없다.
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 법 1번부터 7번까지를 모두 지키면서 마리가 회사에 남길 수 있는 직원 수의 최댓값이다. 마리 자신도 이 수에 들어간다.
첫 번째 테스트 케이스에서는 회사에 대표만 있고 다른 직원이 없다. 어떤 법도 어기지 않으므로 아무도 해고하지 않는다.
두 번째 테스트 케이스에서 직원 1번부터 5번까지의 수열은 다음과 같다.
이때 최선은 직원 0번, 1번, 5번을 남기는 것이다. 세 사람의 연봉은 각각 10, 13, 8이다. 예를 들어 직원 2번은 남길 수 없다. 연봉이 16이라 직원 0번의 연봉 10과 5보다 더 차이 나는데, 직원 0번은 해고할 수 없기 때문이다. 직원 2번이 떠나면 그에게 보고하는 직원도 모두 떠난다.