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

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

책 구매하기 3

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

요약
상점 재고를 구매자별 구매 한도와 배송비 조건에 따라 배분해 구매량을 최대화하고 배송비 합계를 최소화합니다.
난이도

보통10점 중 6점

유형
그래프, 최단 경로
정답자
아직 제출이 없습니다

문제

N명이 같은 책을 사려고 한다. 사람에게는 1번부터 N번까지 번호가 붙어 있고, 사람 jj가 사려는 책은 AjA_j권이다. 이 책을 파는 온라인 서점은 M곳이고, 서점에도 1번부터 M번까지 번호가 붙어 있다. 서점 ii에 있는 책은 BiB_i권이다.

이 책을 사려는 사람은 이 N명뿐이고, 서점에 있는 책의 총합과 사람들이 사려는 책의 총합은 같다.

한 사람이 한 서점에서 사는 양에는 제한이 있다. 사람 jj는 서점 ii에서 최대 CijC_{ij}권까지 살 수 있다. 온라인 서점은 책을 한 권씩 따로 택배로 보내고, 배송비는 서점과 사람 사이의 거리, 회원 등급 등 여러 조건으로 정해진다. 서점 ii가 사람 jj에게 책 한 권을 보내는 데 드는 배송비는 DijD_{ij}원이다.

구매 제한과 배송비가 모두 주어질 때, 책을 최대 몇 권 살 수 있는지, 그리고 그만큼 살 때 배송비 합의 최솟값은 얼마인지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 사람의 수 N과 온라인 서점의 수 M이 주어진다. (1≤N,M≤1001 \le N, M \le 100)

둘째 줄에 각 사람이 사려는 책의 수 A1,A2,…,ANA_1, A_2, \dots, A_N이 주어진다. (1≤Aj≤1001 \le A_j \le 100)

셋째 줄에 각 서점에 있는 책의 수 B1,B2,…,BMB_1, B_2, \dots, B_M이 주어진다. (1≤Bi≤1001 \le B_i \le 100)

넷째 줄부터 M개의 줄에 구매 제한이 주어진다. ii번째 줄의 jj번째 수는 사람 jj가 서점 ii에서 최대 몇 권까지 살 수 있는지를 뜻하는 CijC_{ij}이다. (0≤Cij≤1000 \le C_{ij} \le 100)

그 다음 M개의 줄에 배송비가 주어진다. ii번째 줄의 jj번째 수는 서점 ii가 사람 jj에게 책 한 권을 보내는 데 드는 배송비 DijD_{ij}이다. (1≤Dij≤10001 \le D_{ij} \le 1000)

A1+A2+⋯+AN=B1+B2+⋯+BMA_1 + A_2 + \dots + A_N = B_1 + B_2 + \dots + B_M이 항상 성립한다.

출력

첫째 줄에 살 수 있는 책의 최대 권수를 출력한다.

둘째 줄에 그 권수를 살 때 드는 배송비 합의 최솟값을 출력한다. 한 권도 살 수 없으면 두 줄 모두 0을 출력한다.

예제4

  1. 예제 1

    입력
    4 4
    3 2 4 2
    5 3 2 1
    0 1 1 0
    1 0 1 2
    2 1 1 1
    0 0 2 0
    5 6 2 1
    3 7 4 1
    2 10 3 1
    10 20 30 1
    
    예상 출력
    8
    47
    
  2. 예제 2

    입력
    1 1
    1
    1
    1
    1000
    
    예상 출력
    1
    1000
    
  3. 예제 3

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

    입력
    2 2
    1 1
    1 1
    1 1
    1 0
    1 100
    1 1
    
    예상 출력
    2
    101