만드는 중입니다

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

AtCoder 품질 문제

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

요약
각 부분집합을 빨강 또는 파랑으로 칠하는 비용이 주어집니다. 같은 색 두 집합의 합집합도 같은 색이어야 할 때 최소 총비용을 구합니다.
난이도

어려움10점 중 9점

유형
비트 연산, 그래프, 동적 계획법
정답자
아직 제출이 없습니다

문제

집합 SS의 원소는 nn개 있다. SS의 각 부분집합을 빨간색 또는 파란색으로 칠하려고 한다. 부분집합 ss를 빨간색으로 칠하는 비용은 RsR_s이고, 파란색으로 칠하는 비용은 BsB_s이다.

참고로 칠하는 대상은 원소가 아니라 부분집합이다.

조건은 하나뿐이다.

  • aa와 bb가 같은 색의 부분집합이면, 부분집합 a∪ba \cup b는 aa, bb와 같은 색이다.

2n2^n개의 부분집합을 모두 칠할 때 필요한 최소 총비용을 구하라.

입력

첫째 줄에 원소의 개수 nn (0≤n≤200 \le n \le 20)이 정수 하나로 주어진다.

둘째 줄에는 부분집합을 빨간색으로 칠하는 비용 R0,R1,…,R2n−1R_0, R_1, \ldots, R_{2^n-1} (−109≤Ri≤109-10^9 \le R_i \le 10^9)이 정수 2n2^n개로 주어진다.

셋째 줄에는 부분집합을 파란색으로 칠하는 비용 B0,B1,…,B2n−1B_0, B_1, \ldots, B_{2^n-1} (−109≤Bi≤109-10^9 \le B_i \le 10^9)이 정수 2n2^n개로 주어진다.

부분집합 ii (0≤i<2n0 \le i < 2^n)는 ii를 이진수로 나타냈을 때 jj번째 비트가 1인 원소 jj로 이루어진 집합이다.

출력

모든 부분집합을 칠하는 데 드는 최소 총비용을 정수 하나로 출력한다.

예제5

  1. 예제 1

    입력
    2
    -5 9 9 -5
    10 -8 -6 3
    
    예상 출력
    -16
    
  2. 예제 2

    입력
    3
    -15 19 19 -5 30 -3 -16 13
    29 -6 -14 -7 24 -5 18 11
    
    예상 출력
    -22
    
  3. 예제 3

    입력
    0
    -129363358
    227605714
    
    예상 출력
    -129363358
    
  4. 예제 4

    입력
    1
    -120923470 -355154745
    -18478014 104068715
    
    예상 출력
    -476078215
    
  5. 예제 5

    입력
    3
    41 38 35 12 5 15 42 18
    37 35 39 13 10 14 11 19
    
    예상 출력
    173