슈퍼 학생

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

요약
유연한 수업 a개를 w일 중 하루에 배정하고 하루 최대 M개를 지키면서, 매일 1층에서 출발해 1층으로 돌아오는 총 이동 거리를 최소로 만든다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 수학
정답자
아직 제출이 없습니다

문제

대전과학고등학교 학생들은 다양한 수업을 듣느라 매 수업마다 교실을 옮겨 다녀야 해서 큰 수고로움을 겪고 있다. 태완이는 대전과학고등학교의 학생으로, 오늘도 고된 학사일정을 끝내고 잠에 들었다.

태완이는 오늘 밤 특별한 꿈을 꾸었다. 꿈속에서 태완이는 슈퍼 학생이 되어 시간표를 자유롭게 짤 수 있는 능력을 얻었다.

대전과학고등학교의 수업 주기는 일주일 단위로 운영되며, 이 문제 상황에서 일주일은 ww일로 구성되어 있다. 태완이가 일주일 동안 들어야 하는 수업은 두 종류로 나뉜다.

  1. 유연한 수업: 일주일(ww일) 중 어느 요일이든 배정 가능한 수업 (총 aa개)
  2. 고정된 수업: 매주 특정 요일에만 배정 가능한 수업 (각 요일마다 bb개씩)

각 수업은 정해진 층에서만 진행되며, 이 층은 변경할 수 없다. 태완이는 매일 11층에서 출발하여 그날의 모든 수업을 듣고 다시 11층으로 돌아와야 한다.

태완이는 수업 사이를 이동할 때 계단을 이용한다. 현재 층에서 다음 수업이 있는 층까지의 이동 거리는 두 층 번호의 차이의 절댓값이다. 예를 들어, 33층에서 77층으로 이동하는 거리는 ∣7−3∣=4|7-3|=4이다.

수업 배정 시 지켜야 할 점은 다음과 같다.

  • 각 유연한 수업은 정확히 한 번만, 일주일(ww일) 중 한 요일에 배정되어야 한다.
  • 모든 고정된 수업은 반드시 매주 지정된 요일에 들어야 한다. 마찬가지로 그 요일에 정확히 한 번 배정되어야 한다.
  • 각 요일 내에서 수업의 순서는 자유롭게 정할 수 있다.
  • 수업 사이에 빈 시간이 있다면, 다음 수업이 시작되기 전까지 또는 그날 일과가 끝나기 전까지 현재 층에서 대기한다.
  • 각 요일에 배정할 수 있는 수업 개수는 그날에 배정된 유연한 수업과 고정된 수업을 모두 포함하여 MM개 이하다.

태완이는 일주일 동안 총 층간 이동 거리가 최소가 되도록 최적의 주간 시간표를 짜려고 한다. 이때 최소 총 층간 이동 거리를 구해 보자.

입력

첫째 줄에 네 개의 정수 a,b,w,Ma,b,w,M이 공백으로 구분되어 주어진다. 조건에 맞게 시간표를 짤 수 있는 경우만 입력으로 주어진다. 구체적으로, 각 수의 제한조건은 다음과 같다.

  • 1≤a≤200,0001\le a\le 200\\, 000
  • 1≤b\<M1\le b\<M
  • 1≤w≤200,0001\le w\le 200\\, 000
  • 2≤M≤200,0002\le M\le 200\\, 000
  • a+b×w≤M×w≤200,000a+b\times w\le M\times w\le 200\\, 000

다음 aa개의 줄에 걸쳐 ii번째 줄에는 ii번째 유연한 수업이 진행되는 층 번호 F_iF\_i가 주어진다. (1≤F_i≤109)(1\le F\_i\le 10^9)

다음 ww개의 줄에 걸쳐 ii번째 줄에는 반드시 ii번째 요일에 배정되어야 하는 bb개의 고정된 수업이 진행되는 층 번호 S_i,1,...,S_i,bS\_{i,1},...,S\_{i,b}가 공백으로 구분되어 주어진다. (1≤S_i,j≤109)(1\le S\_{i,j}\le 10^9)

출력

최적의 주간 시간표를 짰을 때, 태완이가 일주일 동안 이동해야 하는 최소 총 층간 이동 거리를 출력한다.

예제2

  1. 예제 1

    입력
    4 1 4 2
    1
    5
    3
    3
    4
    4
    1
    2
    
    예상 출력
    18
    
  2. 예제 2

    입력
    9 2 5 4
    3
    1
    13
    9
    15
    3
    18
    10
    20
    17 6
    15 3
    13 14
    1 14
    1 19
    
    예상 출력
    150