책 구매하기 3
시간 제한1초메모리 제한256 MB
상점 재고를 구매자별 구매 한도와 배송비 조건에 따라 배분해 구매량을 최대화하고 배송비 합계를 최소화합니다.
문제
N명이 같은 책을 사려고 한다. 사람에게는 1번부터 N번까지 번호가 붙어 있고, 사람 가 사려는 책은 권이다. 이 책을 파는 온라인 서점은 M곳이고, 서점에도 1번부터 M번까지 번호가 붙어 있다. 서점 에 있는 책은 권이다.
이 책을 사려는 사람은 이 N명뿐이고, 서점에 있는 책의 총합과 사람들이 사려는 책의 총합은 같다.
한 사람이 한 서점에서 사는 양에는 제한이 있다. 사람 는 서점 에서 최대 권까지 살 수 있다. 온라인 서점은 책을 한 권씩 따로 택배로 보내고, 배송비는 서점과 사람 사이의 거리, 회원 등급 등 여러 조건으로 정해진다. 서점 가 사람 에게 책 한 권을 보내는 데 드는 배송비는 원이다.
구매 제한과 배송비가 모두 주어질 때, 책을 최대 몇 권 살 수 있는지, 그리고 그만큼 살 때 배송비 합의 최솟값은 얼마인지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 사람의 수 N과 온라인 서점의 수 M이 주어진다. ()
둘째 줄에 각 사람이 사려는 책의 수 이 주어진다. ()
셋째 줄에 각 서점에 있는 책의 수 이 주어진다. ()
넷째 줄부터 M개의 줄에 구매 제한이 주어진다. 번째 줄의 번째 수는 사람 가 서점 에서 최대 몇 권까지 살 수 있는지를 뜻하는 이다. ()
그 다음 M개의 줄에 배송비가 주어진다. 번째 줄의 번째 수는 서점 가 사람 에게 책 한 권을 보내는 데 드는 배송비 이다. ()
이 항상 성립한다.
출력
첫째 줄에 살 수 있는 책의 최대 권수를 출력한다.
둘째 줄에 그 권수를 살 때 드는 배송비 합의 최솟값을 출력한다. 한 권도 살 수 없으면 두 줄 모두 0을 출력한다.