우혁이와 엘리베이터

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

요약
정해진 층에만 서는 엘리베이터와, 쓸수록 비용이 커지는 계단을 최대 K층까지 섞어 1층에서 E층까지 가는 최소 시간을 구한다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로, 동적 계획법
정답자
아직 제출이 없습니다

문제

국민대학교 북악관은 11층부터 NN층까지 있고, MM개의 엘리베이터가 있다. 각 엘리베이터는 11부터 NN까지의 정수 중 임의의 수가 적힌 버튼들을 가지고 있고, 버튼에 적힌 수들에 해당하는 층만을 운행한다.

우혁이가 층과 층 사이를 이동하는 방법이 두 가지 있는데, 다음과 같다.

  • 엘리베이터의 버튼이 있는 층에서 다른 버튼이 있는 층으로 이동한다. ii번째 엘리베이터는 한 층을 이동하는 데 t_it\_i의 시간이 걸린다. 예를 들어 33층에서 55층을 가는 데에 2×t_i2 \times t\_i만큼의 시간이 걸린다.
  • 계단을 통하여 한 층 위 또는 한 층 아래로 이동한다. 11층에서는 한 층 아래로 이동할 수 없고, NN층에서는 한 층 위로 이동할 수 없다. 체력이 좋지 못한 우혁이는 모든 이동을 통틀어 최대 KK층만큼만 계단으로 다닐 수 있으며, 체력 소모로 인하여 계단을 이용할 때마다 계단을 통한 이동 시간이 단조증가한다. 구체적으로 이전까지 nn개의 층을 계단으로 이동한 경우, 계단을 통해 이동할 때 T_1+n×T_2T\_1+n \times T\_2만큼의 시간이 걸린다. (0≤n<K)(0 \leq n < K)

엘리베이터와 계단 사이의 이동 시간은 무시한다고 할 때, 건물 11층에 막 도착한 우혁이가 EE층에 도착할 수 있는 최소 시간을 구해보자.

입력

첫째 줄에 네 정수 N,M,E,KN, M, E, K가 공백으로 구분되어 주어진다.

둘째 줄에 두 정수 T_1T\_1과 T_2T\_2가 공백으로 구분되어 주어진다.

셋째 줄부터 MM개의 줄에 걸쳐, ii번째 엘리베이터의 정보 c_i,t_i,x_1,x_2,…,x_c_ic\_i, t\_i, x\_1, x\_2, \ldots, x\_{c\_i}가 공백으로 구분되어 주어진다. (1≤i≤M)(1 \leq i \leq M)

  • c_ic\_i: 엘리베이터가 운행하는 층의 개수
  • t_it\_i: 층 하나를 이동하는 데 걸리는 시간
  • x_1,x_2,…,x_c_ix\_1 , x\_2 , \ldots , x\_{c\_i}: 엘리베이터가 운행하는 층 번호들로, 중복 없이 주어진다.

출력

우혁이가 11층에서 출발하여 EE층에 도착할 수 있다면 우혁이가 EE층에 도착하는 최소 시간을 출력한다.

만약 우혁이가 EE층에 도착할 수 없다면 -1을 출력한다.

제한

  • 1≤N≤5001\leq N \leq 500
  • 0≤M≤5000 \leq M \leq 500
  • 1≤E≤N1 \leq E \leq N
  • 0≤K≤500 \leq K \leq 50
  • 0≤T_1,T_2,t_i≤100,0000 \leq T\_1, T\_2, t\_i \leq 100\\,000
  • 2≤c_i≤N2 \leq c\_i \leq N
  • 1≤x_i≤N1 \leq x\_i \leq N

입력으로 주어지는 수는 모두 정수이다.

예제3

  1. 예제 1

    입력
    16 5 11 5
    10 5
    3 3 1 5 9
    4 5 1 7 13 15
    2 2 1 11
    3 3 1 6 10
    5 5 1 5 8 12 14
    
    예상 출력
    20
    
  2. 예제 2

    입력
    8 2 4 0
    10 0
    8 8 8 7 6 5 4 3 2 1
    4 3 8 5 2 1
    
    예상 출력
    19
    
  3. 예제 3

    입력
    4 0 4 3
    10 1
    
    예상 출력
    33