만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

싱가포르 방문

시간 제한2초메모리 제한256 MB

요약
날마다 열리는 행사 중에서 T의 순서대로 참석할 날을 고르고, 건너뛴 행사와 빈 날의 벌점을 뺀 최대 행복도를 구합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 문자열 매칭
정답자
아직 제출이 없습니다

문제

싱가포르에서는 하루에 행사가 하나씩 열린다. 행사의 집합은 Σ={1,2,…,K}\Sigma = \{1, 2, \ldots, K\}이다. 행사 ii에 참석하면 행복도가 V[i]V[i]만큼 증가한다. nn일 동안 순서대로 열리는 행사를 S[1],…,S[n]S[1], \ldots, S[n]이라 하자. 같은 행사가 이 목록에 여러 번 나타날 수 있다.

여러분은 행사 T[1],…,T[m]T[1], \ldots, T[m]에 이 순서대로 참석하려고 한다. TT에도 같은 행사가 여러 번 나타날 수 있다. ii일에 싱가포르로 떠나 jj일에 떠날 계획을 세울 수 있다. 싱가포르에 아예 가지 않을 수도 있다.

T[i]T[i]에 참석하면 행복도가 V[T[i]]V[T[i]]만큼 증가한다. T[p],T[p+1],…,T[q]T[p], T[p+1], \ldots, T[q]를 건너뛰면 행복도가 A+(q−p+1)BA + (q-p+1)B만큼 줄어든다.

체류 중 dd일 연속으로 행사에 참석하지 않으면 행복도가 A+dBA + dB만큼 줄어든다. 공식으로 말하면, S[p]S[p]와 S[q]S[q]에 참석하고 p+2≤qp+2 \le q이며 그 사이에는 아무 행사에도 참석하지 않았다면 행복도가 A+(q−p−1)BA + (q-p-1)B만큼 줄어든다.

얻을 수 있는 최대 행복도를 구하라.

입력

첫 줄에 다섯 정수 KK, nn, mm, AA, BB가 주어진다. KK, nn, mm은 양의 정수이고, AA와 BB는 음의 정수이다.

둘째 줄에는 KK개의 양의 정수 V[1],…,V[K]V[1], \ldots, V[K]가 주어진다.

셋째 줄에는 nn개의 정수 S[1],…,S[n]S[1], \ldots, S[n]이 주어진다. 각 값은 1 이상 KK 이하이다.

넷째 줄에는 mm개의 정수 T[1],…,T[m]T[1], \ldots, T[m]이 주어진다. 각 값은 1 이상 KK 이하이다.

출력

최적 일정에서의 총 행복도를 나타내는 정수 하나를 한 줄에 출력한다.

제한

  • 1≤K≤10001 \le K \le 1000
  • 1≤n,m≤50001 \le n, m \le 5000
  • −100≤A,B≤0-100 \le A, B \le 0
  • 모든 ii에 대해 1≤V[i]≤1001 \le V[i] \le 100이다.

예제5

  1. 예제 1

    입력
    1 5 3 -5 -4
    10
    1 1 1 1 1
    1 1 1
    
    예상 출력
    30
    
  2. 예제 2

    입력
    1 3 5 -10 -5
    10
    1 1 1
    1 1 1 1 1
    
    예상 출력
    10
    
  3. 예제 3

    입력
    4 7 4 0 0
    1 2 3 4
    3 1 2 1 4 1 1
    1 2 3 4
    
    예상 출력
    7
    
  4. 예제 4

    입력
    4 8 4 0 -3
    1 2 3 4
    3 1 2 1 1 4 1 1
    1 2 3 4
    
    예상 출력
    -1
    
  5. 예제 5

    입력
    4 8 4 -3 0
    1 2 3 4
    3 1 2 1 1 4 1 1
    1 2 3 4
    
    예상 출력
    2