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

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

망원경

시간 제한5초메모리 제한128 MB

요약
동전을 넣는 순서와 시각을 정해 유료 시청 구간이 최대한 많은 유성 구간을 덮도록 했을 때, 관측할 수 있는 유성의 최대 개수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

바이테아사르는 오늘 밤 유성우를 관측하려고 한다. 그는 유성우의 경로에 대한 정확한 예보를 가지고 있다. 이번 유성우는 유성 nn개로 이루어져 있으며, ii번째 유성은 자정으로부터 tit_i초 뒤에 나타난다. 즉, 이 유성은 시각 ti−1t_i - 1부터 시각 tit_i까지 보인다. 바이테아사르는 어떤 유성이 보이는 시간 내내 지켜본 경우에만 그 유성을 관측한 것으로 친다.

바이테아사르는 근처 언덕에서 망원경으로 하늘을 본다. 이 망원경은 동전을 넣어야 작동한다. cc비탈러를 넣을 때마다 정확히 cc초 동안 하늘을 볼 수 있다. 망원경이 조금 낡아서, 동전을 넣은 뒤 rr초를 기다려야 무언가가 보이기 시작한다. 한 번에 동전을 하나만 받으므로, 값이 cc인 동전을 넣으면 다음 동전은 적어도 r+cr + c초가 지난 뒤에야 넣을 수 있다.

바이테아사르는 주머니에 값이 각각 c1,…,cmc_1, \dots, c_m비탈러인 동전 mm개를 가지고 있고, 이것으로 망원경 요금을 낸다. 그가 관측할 수 있는 유성의 최대 개수를 구하여라.

입력

첫째 줄에 세 정수 nn, mm, rr이 주어진다 (1≤n≤1001 \le n \le 100, 1≤m≤101 \le m \le 10, 1≤r≤1081 \le r \le 10^8). 둘째 줄에는 증가하는 순서로 정렬된 정수 t1,…,tnt_1, \dots, t_n이 주어진다 (1≤ti≤1081 \le t_i \le 10^8). 셋째 줄에는 mm개의 정수 c1,…,cmc_1, \dots, c_m이 주어진다 (1≤ci≤1081 \le c_i \le 10^8).

출력

바이테아사르가 망원경으로 관측할 수 있는 유성의 최대 개수를 정수 하나로 출력한다.

힌트

위 그림에서 검은 직사각형은 각 유성이 보이는 시간을 나타낸다. 예제에서 유성 6개를 관측하려면, 바이테아사르는 시각 −2-2, 22, 99에 각각 값이 11, 55, 22인 동전을 순서대로 넣으면 된다.

예제1

  1. 예제 1

    입력
    7 3 2
    1 3 6 7 8 12 13
    2 5 1
    
    예상 출력
    6