미생물 키우기

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

요약
구매 비용과 생산 비용이 주어질 때 미생물을 사고 각 종이 다른 종을 생산하게 해 종마다 x_i개를 만드는 최소 비용을 구한다.
난이도

어려움10점 중 9점

유형
수학, 그리디, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

범수는 오늘도 방에서 미생물을 키운다. 미생물은 총 NN가지가 있으며 1번 미생물부터 NN번 미생물까지 번호가 매겨져 있다. 범수는 여러 종류의 미생물을 키우려 한다. 구체적으로, 1≤i≤N1 \le i \le N인 모든 정수 ii에 대해 ii번 미생물을 xix_i개 만들려 한다.

미생물을 만드는 방법은 두 가지다.

  • 1≤i≤N1 \le i \le N인 임의의 정수 ii에 대해, ii번 미생물 하나를 사서 방에 넣는다. ii번 미생물을 사는 데는 yiy_i만큼 비용이 든다.

  • 1≤i,j≤N1 \le i, j \le N인 임의의 두 정수 ii와 jj에 대해, ii번 미생물에게 특수한 약을 먹여 jj번 미생물을 만들도록 시킨다. 이 연산은 ii번 미생물이 이미 방에 있을 때만 할 수 있으며, ii번 미생물이 jj번 미생물 하나를 만드는 데 zi,jz_{i,j}만큼 비용이 든다. ii와 jj는 같을 수 있다.

범수는 처음에 아무런 미생물도 가지고 있지 않다. 범수가 두 방법을 적당히 사용하여 목적을 달성하는 데 드는 최소 비용을 출력한다.

입력

첫째 줄에 미생물의 수 NN(1≤N≤3001 \le N \le 300)이 주어진다.

둘째 줄에 NN개의 수가 공백을 사이에 두고 주어진다. 이 중 ii번째 수는 범수가 만들고자 하는 ii번 미생물의 수 xix_i(1≤xi≤1061 \le x_i \le 10^6)를 의미한다.

셋째 줄에 NN개의 수가 공백을 사이에 두고 주어진다. 이 중 ii번째 수는 ii번 미생물을 사 오는 데 드는 비용 yiy_i(1≤yi≤1091 \le y_i \le 10^9)를 의미한다.

넷째 줄부터 NN개의 줄에 각각 NN개의 수가 주어진다. 이 중 ii번째 줄의 jj번째 수는 ii번째 미생물이 jj번째 미생물을 만들 때 드는 비용 zi,jz_{i,j}(1≤zi,j≤1091 \le z_{i,j} \le 10^9)를 의미한다.

출력

첫째 줄에 범수가 목적을 이루기 위한 최소 비용을 출력한다.

힌트

위 예시의 답은 아래와 같다.

  1. 1번 미생물을 사 온다. 이때 드는 비용은 y1=2y_1 = 2이다.
  2. 1번 미생물에게 약을 먹여 2번 미생물을 하나 만들게 한다. 이때 드는 비용은 z1,2=1z_{1,2} = 1이다.
  3. 2번 미생물에게 약을 먹여 1번 미생물을 하나 만들게 한다. 이때 드는 비용은 z2,1=1z_{2,1} = 1이다.
  4. 2번 미생물에게 약을 먹여 2번 미생물을 하나 만들게 한다. 이때 드는 비용은 z2,2=1z_{2,2} = 1이다.

이때 비용의 합은 5이며 이 방법이 최적이다.

예제1

  1. 예제 1

    입력
    2
    2 2
    2 8
    4 1
    1 1
    예상 출력
    5