요리 강좌

M개 과정을 순서대로 수강할 학원을 정하되 한 학원에서 연속 수강하는 횟수를 S 이상 E 이하로 유지하고 금지된 전환을 피하며 전환 비용까지 더해 총비용을 최소화한다.

보통7동적 계획법슬라이딩 윈도우그리디구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

요리 자격증을 따려면 강좌1부터 강좌M까지 MM개의 강좌를 순서대로 한 번씩 수강해야 한다. 강좌는 NN개의 학원에서 들을 수 있고, 같은 강좌라도 학원마다 수강비용이 다르다.

아래 표는 M=5M = 5, N=4N = 4인 경우의 수강비용 예시다.

강좌1강좌2강좌3강좌4강좌5
학원112138
학원212372
학원318812
학원4101188

비용을 줄이려고 중간에 학원을 바꿀 수 있다. 학원을 한 번 바꿀 때마다 추가 비용 TT가 든다. 학원을 바꿀 때는 다음 두 규칙을 지켜야 한다.

규칙 (a). 한 학원에서 연속으로 수강하는 강좌 수는 최소 SS개, 최대 EE개다. 다만 강좌M을 수강하는 학원에서는 SS개를 연속으로 채우지 않아도 된다. 이 학원에서도 최대 EE개 제한은 그대로 적용된다.

S=2S = 2, E=3E = 3이라고 하자. 강좌1을 학원1에서 들었다면 강좌2도 학원1에서 들어야 하고, 강좌3은 학원1에서 들어도 되고 다른 학원에서 들어도 된다. 강좌1부터 강좌3까지를 학원1에서 들었다면 강좌4는 반드시 다른 학원에서 들어야 한다. S=1S = 1, E=2E = 2라면 강좌1과 강좌2를 학원3에서, 강좌3과 강좌4를 학원1에서, 강좌5를 다시 학원3에서 듣는 것도 가능하다.

규칙 (b). 학원마다 불허용 학원이 하나씩 정해져 있다. 학원 qq의 불허용 학원이 학원 pp이면, 학원 pp에서 학원 qq로 바꿀 수 없다.

아래 표에서 학원1의 불허용 학원은 학원2이므로 학원2에서 학원1로 바로 바꾸는 것은 불가능하다. 학원2 → 학원4 → 학원1처럼 다른 학원을 거쳐 옮기는 것은 가능하다.

불허용 학원
학원1학원2
학원2학원3
학원3학원4
학원4학원3

S=2S = 2, E=3E = 3, T=2T = 2이고 위 두 표가 주어졌다고 하자. 강좌 순서대로 수강한 학원 번호가

  • 1 → 1 → 1 → 1 → 3이면 한 학원에서 강좌 4개를 연속으로 듣게 되어 규칙 (a)에 어긋난다.
  • 2 → 2 → 1 → 1 → 1이면 학원2에서 학원1로 바꾸므로 규칙 (b)에 어긋난다.
  • 3 → 3 → 1 → 1 → 3이면 가능하고, 전체 비용은 1+8+T+1+3+T+2=191 + 8 + T + 1 + 3 + T + 2 = 19다.
  • 1 → 1 → 1 → 3 → 3이면 가능하고, 전체 비용은 1+2+1+T+1+2=91 + 2 + 1 + T + 1 + 2 = 9다.

수강비용과 불허용 학원 정보가 주어질 때, 강좌M까지 모두 순서대로 수강하는 데 드는 최소 비용을 구하시오.

입력

첫째 줄에 학원 수 NN, 강좌 수 MM, 한 학원에서 연속으로 수강할 수 있는 최소 강좌 수 SS, 최대 강좌 수 EE, 학원 변경 비용 TT가 공백을 사이에 두고 주어진다. (3N30003 \le N \le 3000, 1M30001 \le M \le 3000, N×M3000000N \times M \le 3000000, 1SEM1 \le S \le E \le M, 0T350000 \le T \le 35000)

다음 NN개 줄에는 학원별 수강비용이 주어진다. ii번째 줄에는 학원 ii의 강좌1부터 강좌M까지의 수강비용 MM개가 공백을 사이에 두고 주어진다. 각 수강비용은 11 이상 3500035000 이하의 정수다.

그다음 NN개 줄에는 학원1부터 학원N까지의 불허용 학원 번호가 한 줄에 하나씩 주어진다. 각 번호는 11 이상 NN 이하이고, 자기 자신의 번호와는 다르다.

출력

첫째 줄에 최소 비용을 출력한다.