만드는 중입니다

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

선물 자루

면접 대비

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

요약
상품 가격과 선물 목록이 주어질 때, 두 상품의 가격을 최대 한 번 맞바꾼 뒤 선물 전체 비용의 최솟값을 구합니다.
난이도

보통10점 중 4점

유형
해시맵, 완전 탐색
정답자
아직 제출이 없습니다

문제

산타클로스가 올해 아이들에게 줄 선물 목록을 작성했다. 각 선물의 가게 가격은 알려져 있다. 가게 주인은 산타클로스가 그리 영리하지 않다고 보고 할인을 제안했다. 산타클로스는 가게에서 판매하는 상품 두 개의 가격을 서로 바꿀 수 있다. 선물을 모두 사는 데 드는 금액이 가장 작아지도록 어떤 가격을 바꿔야 하는지 찾아라.

입력

첫 줄에 가게에 있는 상품의 개수 NN이 주어진다 (1≤N≤1 0001 \le N \le 1\,000).

다음 2N2N 줄에는 NN개의 상품 정보가 두 줄씩 주어진다. 첫 줄은 상품 이름이고 (영어 소문자 1자 이상 20자 이하), 둘째 줄은 정수 가격 PP (1≤P≤1 0001 \le P \le 1\,000)이다. 상품 이름은 모두 다르다.

그다음 줄에 선물의 개수 MM (1≤M≤1 0001 \le M \le 1\,000)이 주어진다. 이어서 MM 줄에 선물 이름이 한 줄씩 주어진다. 모든 선물은 가게에 충분한 수량이 있다고 가정해도 된다.

출력

선물 목록을 모두 사는 데 필요한 최소 금액을 정수 하나로 출력한다. 합계를 구하기 전에 두 상품의 가격을 서로 바꿀 수 있으며, 바꾸지 않아도 된다.

예제2

  1. 예제 1

    입력
    3
    mudelauto
    10
    legokomplekt
    20
    raamat
    30
    4
    mudelauto
    raamat
    legokomplekt
    raamat
    
    예상 출력
    70
    
  2. 예제 2

    입력
    3
    mudelauto
    10
    legokomplekt
    20
    raamat
    30
    2
    mudelauto
    mudelauto
    
    예상 출력
    20