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

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

눈 폭풍

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

요약
n개 역이 일렬로 놓인 경로에서 s개의 눈 덮인 구간 중 최대 p개를 치울 때, 양 끝이 연결되는 이동 요청 수를 최대로 만드는 문제입니다.
난이도

보통10점 중 7점

유형
동적 계획법, 구간, 누적 합, 완전 탐색
정답자
아직 제출이 없습니다

문제

폭설이 몰아쳐 교통이 혼란에 빠졌다. 설상가상으로 철로의 일부 구간이 눈에 덮여 모든 열차 운행이 중단되었다. 당연히 좋지 않은 상황이다. 수많은 승객이 역에 발이 묶여 아무 데도 갈 수 없기 때문이다. 그래서 Fredrika는 출퇴근 시간이 시작되어 재앙이 확정되기 전에 역 사이의 눈을 치워야 한다.

철로에는 분기점이 전혀 없고 nn개의 역이 있으며, 역들은 철로에 나타나는 순서대로 11부터 nn까지 번호가 붙어 있다(역 ii가 역 i+1i+1 바로 앞에 온다). 따라서 역 사이에는 n−1n - 1개의 구간이 있다. 이 중 ss개가 눈에 덮여 있다.

Fredrika는 구간 pp개의 눈만 치울 시간밖에 없다는 것을 깨닫고 조금 걱정된다. 상황을 최대한 좋게 만들기 위해 Fredrika는 기다리는 승객 중 최대한 많은 사람이 가고 싶은 곳으로 갈 수 있게 하는 구간들을 선택하기로 한다. 그녀에게는 기다리는 모든 사람에게 보낸 설문 조사의 답변이 있다. 설문에서 사람들은 어느 역 사이를 이동하고 싶은지 답했다.

Fredrika가 구간들을 최적으로 선택한다고 가정할 때, 그녀가 일을 마친 뒤 이동할 수 있게 되는 기다리는 승객의 수를 계산하라.

열차는 눈이 없는 구간에서만 운행할 수 있다. 모든 역에 열차가 정박해 있으므로, 역들이 철로의 종점에서 도달 가능하지 않더라도 눈이 없는 모든 구간은 운행할 수 있다. Fredrika가 일을 마칠 때까지 열차 운행은 완전히 중단되어 있으므로, 처음부터 눈이 없는 경로를 가진 승객도 답에 포함된다.

그림 1: 예제 1

입력

첫째 줄에는 네 정수 2≤n≤2002 \le n \le 200, 1≤m≤1000001 \le m \le 100000, 0≤s,p≤n−10 \le s, p \le n - 1가 주어진다. 이는 역의 수, 승객의 수, 눈에 덮인 구간의 수, Fredrika가 치울 수 있는 구간의 수이다.

다음 mm개의 줄이 주어지며, ii번째 줄에는 두 정수 1≤ai≠bi≤n1 \le a_i \not= b_i \le n가 주어진다. 이는 승객 ii가 각각 출발하려는 역과 도착하려는 역이다.

다음 ss개의 줄이 주어지며, jj번째 줄에는 정수 1≤cj≤n−11 \le c_j \le n - 1가 주어진다. 이는 눈에 덮인 구간 jj의 바로 앞에 있는 역이다. 같은 구간이 이 목록에 두 번 이상 나타나지 않는다.

출력

프로그램은 하나의 정수를 출력해야 한다. 이는 구간을 최대 pp개 치울 때 여행을 완수할 수 있는 승객의 최대 수이다.

예제1

  1. 예제 1

    입력
    5 4 3 2
    1 5
    1 4
    2 3
    3 4
    1
    3
    4
    
    예상 출력
    3