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

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

Joke

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

요약
텍스트와 최대 열 개의 패턴, 그리고 글자별 삭제 비용이 주어질 때, 어떤 패턴도 나타나지 않도록 글자를 지우는 최소 비용을 구한다.
난이도

어려움10점 중 9점

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

문제

Jokey Smurf는 다른 Smurf를 놀리는 걸 좋아한다. 이번에는 Poet Smurf를 놀리고 싶어 한다. 하지만 Poet Smurf는 그렇게 쉽게 속아 넘어가지 않으므로(폭발하는 선물도 통하지 않았다) Jokey는 다른 방법을 찾아야 한다. 다행히도 Poet이 Smurfette에 관한 새 시를 막 완성했다. Jokey는 이 시에서 몇 글자를 지워 Smurfette를 칭송하는 단어의 모든 등장을 망가뜨리려고 한다. 그러나 어떤 글자는 지우는 데 시간이 더 오래 걸리고, Jokey는 다른 Smurf의 의심을 사고 싶지 않아 작업에 드는 총 시간을 최소화하려 한다.

입력

첫째 줄에는 Poet의 시가 주어진다. 다음 줄에는 정수 kk (1≤k≤101 \leq k \leq 10)가 주어지며, 이는 Smurfette를 칭송하는 단어의 수이다. 다음 kk개 줄에는 각각 그 단어 중 하나가 주어진다. 마지막 줄에는 26개의 정수 c_a,…,c_zc\_a, \ldots, c\_z (0≤c_α≤10000 \leq c\_\alpha \leq 1000)가 주어진다. c_αc\_\alpha는 글자 α\alpha를 한 번 지우는 데 걸리는 초이다. 시와 Smurfette를 칭송하는 모든 단어는 라틴 소문자로 이루어진 비어 있지 않은 문자열이다. 지운 글자는 공백으로 바뀌므로 시의 남은 부분이 서로 합쳐지지 않는다. 시와 각 단어의 길이는 2⋅1052\cdot 10^5을 넘지 않는다.

출력

Jokey가 작업에 써야 하는 최소 시간(초)을 출력한다.

예제1

  1. 예제 1

    입력
    chryzantematematyka
    3
    chryzantema
    matematyka
    tematem
    3 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1
    
    예상 출력
    2