파일 업로드

도구 대여 서비스

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

사업가 철우는 도구 대여 서비스를 시작하려 합니다.

철우에게는 하루에 일정한 양의 일을 처리할 수 있는 NN (1N100,0001 \leq N \leq 100,000)개의 도구가 있습니다. 철우의 가게 근처에 있는 MM개의 상점들은 (1M100,0001 \leq M \leq 100,000) 각각 일정 가격에 일을 처리해달라고 제안하고 있습니다. 또한, 철우의 RR (1R100,0001 \leq R \leq 100,000)명의 이웃들도 각각 일정 가격에 도구를 대여하려고합니다. (1R100,0001 \leq R \leq 100,000).

철우는 각 도구를 상점에 대여할지, 아니면 이웃에게 대여할지 결정해야 합니다. 그가 하루에 벌 수 있는 최대 금액을 찾도록 도와주십시오.

💻 입력

입력 값의 첫 번째 줄에는 NN, MM, 그리고 RR이 있습니다. 그 다음 NN 줄에는 각각의 줄에 정수 cic_i (1ci1,000,0001 \leq c_i \leq 1,000,000)가 있어, 철우의 ii번째 도구가 하루에 cic_i 개의 작업을 처리할 수 있다는 것을 나타냅니다. 

이어서 MM 줄에는 각각의 줄에 정수 qiq_ipip_i (1qi,pi1,000,0001 \leq q_i, p_i \leq 1,000,000)가 있는데, ii 번째 상점이 작업당 pip_i 센트로 최대 qiq_i개의 작업을 처리하길 원합니다. 철우는 각 상점에게 0에서 qiq_i 개의 작업을 할당받을 수 있다는 점을 유의해 주십시오. 마지막으로 RR 줄에는 각각의 줄에 정수 rir_i (1ri1,000,0001 \leq r_i \leq 1,000,000)가 있어, 철우의 이웃 중 한명이 도구를 하루에 rir_i 센트에 대여받길 원한다는 것을 나타냅니다.

🖨️ 출력

출력은 철우가 하루에 도구를 사용하거나 대여함으로써 벌 수 있는 최대 이익을 나타내는 한 줄이어야 합니다. 출력값은 표준 32비트 정수에 들어갈 수 없을 정도로 클 수 있으므로, C/C++의 'long long' 같은 더 큰 정수 타입을 사용해야 할 수도 있습니다.


💻 예제 입력 1
5 3 4
6
2
4
7
1
10 25
2 10
15 15
250
80
100
40
🖨️ 예제 출력 1
725

💡 힌트

철우은 #1과 #4의 도구를 사용해서서 13개의 작업을 처리해야 합니다. 그는 주문받은 10개의 작업을 완전히 처리해서 250센트를 벌어야 하며, 남은 3개의 작업을 각각 15센트에 처리해 총 295센트의 이익을 얻을 수 있습니다.

그 다음, 그는 나머지 세 개의 도구를 250, 80, 100센트에 대여해, 추가로 430센트를 벌어야 합니다. (40센트 대여를 요청은 무시합니다.) 

이는 총 725센트의 하루 이익을 의미합니다.


출처: USACO 2018 January Contest, Silver Problem 2. Rental Service